News for hackers. Stuff that matters.
Re:Why Rust closures are somewhat hard by v_lisivka on Monday September 10, 2018 @03:54PM (#17954642)
In C, you can use typeof().

  #define max(a,b) \
  ({ typeof (a) _a = (a); \
      typeof (b) _b = (b); \
    _a > _b ? _a : _b; })
https://gcc.gnu.org/onlinedocs/gcc/Typeof.html
Re:Why Rust closures are somewhat hard by wahern on Monday September 10, 2018 @04:17PM (#17954841)
typeof is supported by everything[1] except the C standard. It was rejected in the 1990s and nobody on the committee seems to want to revisit the decision.

To be fair, typeof is not as useful without statement expressions (`({ ... })`), and statement expressions aren't as widely supported.

[1] All the major compilers support it (clang, GCC, IBM, Intel, Microsoft, Solaris, etc), plus or minus underscores in the identifier.