IsTuple returns true for Nullable!SomeTuple

Ben Jones fake at fake.fake
Wed Dec 2 16:55:24 UTC 2020


On Wednesday, 2 December 2020 at 12:59:52 UTC, Paul Backus wrote:
> 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

I guess it's a moot point because the implicit conversion is 
deprecated, but it seems strange to me that isTuple behaves like 
canBeUsedAsTuple.

Seems like the reasonable thing to do with a 
Nullable!(Tuple!Whatever) would be to check 
isTuple!(TemplateArgsOf!MyNullable)

Thanks for the response


More information about the Digitalmars-d-learn mailing list