IsTuple returns true for Nullable!SomeTuple
Paul Backus
snarwin at gmail.com
Wed Dec 2 12:59:52 UTC 2020
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
More information about the Digitalmars-d-learn
mailing list