[Dune-devel] PSA: please avoid implicit conversion integral_constant<bool, ...> to bool

Jö Fahlke jorrit at jorrit.de
Mon Feb 20 13:21:59 CET 2017


Am Mon, 20. Feb 2017, 13:10:54 +0100 schrieb Jö Fahlke:
> Explanation
> -----------
> 
> `std::is_same` is a proper class template, not a typedef template, so `!` will
> use ADL to find candidate functions implementing it.

Slight correction: `std::is_same<...>` is a class, so `!` will use ADL.
`std::is_same<...>` is a proper class template, not a typedef template, so the
set of namespaces for ADL includes the set of namespaces associated with the
template arguments of `std::is_same<...>`.

>                                                       The set of namespaces
> for ADL includes the set of namespaces associated with `std::tuple<void>`,
> which in turn includes the set of namespaces associated with any base classes
> of `std::tuple<void>`.  To determine the base classes, `std::tuple<void>` must
> be completed, but you can't have a complete class with a `void` data member or
> (which triggers the error here) a constructor taking a `const void &`
> parameter.


-- 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 811 bytes
Desc: Digital signature
URL: <https://lists.dune-project.org/pipermail/dune-devel/attachments/20170220/3bcb2d44/attachment.sig>


More information about the Dune-devel mailing list