On Wednesday, 2 December 2020 at 05:25:09 UTC, Ben Jones wrote:
This seems like very surprising behavior to me.  Is it a bug?

import std.typecons;
alias NT = Nullable!(Tuple!(int, double));
pragma(msg, isTuple!NT); //prints true!

No, this is not a bug, because Nullable!T currently has an implicit conversion to T via `alias this`. [1] However, this implicit conversion is deprecated, and will be removed in a future release. Once that happens, `isTuple!NT` will be `false`, as you'd expect.

[1] http://phobos.dpldocs.info/std.typecons.Nullable.1.html#alias-this

Reply via email to