January 12, 2016 is expression with template parameter list | ||||
---|---|---|---|---|
| ||||
The following example compiles work as expected:
import std.stdio;
import std.typecons;
void main()
{
Nullable!(int) a;
static if(is(typeof(a) == Nullable!(U), U))
writeln("true");
else
writeln("false");
}
But if I use the fully qualified name in the condition, i.e. "std.typecons.Nullable!(U)", then I get this compile error:
main.d(8): Error: undefined identifier 'U'
Shouldn't this work? I have tried with the latest beta an a bunch of older versions of DMD.
--
/Jacob Carlborg
|
January 12, 2016 Re: is expression with template parameter list | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg | On 1/12/16 8:03 AM, Jacob Carlborg wrote:
> The following example compiles work as expected:
>
> import std.stdio;
> import std.typecons;
>
> void main()
> {
> Nullable!(int) a;
>
> static if(is(typeof(a) == Nullable!(U), U))
> writeln("true");
> else
> writeln("false");
> }
>
> But if I use the fully qualified name in the condition, i.e.
> "std.typecons.Nullable!(U)", then I get this compile error:
>
> main.d(8): Error: undefined identifier 'U'
>
> Shouldn't this work? I have tried with the latest beta an a bunch of
> older versions of DMD.
>
Looks like a bug to me.
-Steve
|
Copyright © 1999-2021 by the D Language Foundation