On Tuesday, 12 July 2016 at 15:50:59 UTC, Ethan Watson wrote:
that aren't necessarily up to date. What I'd rather do is have further examples visible online for C++17 standards to compare against. Either way, given Microsoft's rate, the industry will be able to use C++17 some time in 2021.

Well, just make sure you say you are aware of it ;-), or else you'll get the same response that you would get from D-users if you compared C++17 to D1...

I can get this to work:

template<class, class = void_t<>> struct has_equality : std::false_type { };

  template<class T >
  struct has_equality<T, void_t<decltype(
     std::declval<T&>() == std::declval<T&>()
  )>> : std::true_type { };

and call it with:

  if( has_equality<int>() ) ...

with C++14 you also can get rid of the parens by binding ::value so you get

  if( has_equality<int> ) ...

horrible to do in C++. SFINAE whackiness leads me in to talking about the is operator in D, which leads in to talking about the binding system... It's all about how it directly relates to usage, not to what someone can do in six years time.

I am not sure if I understand the argument. Wouldn't MS have kept D at D1 if the core issue is their backend? Why is it easier to user D than clang/gcc?


Reply via email to