[Issue 21896] New: static if test fails after alias assignment
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu May 6 15:22:17 UTC 2021
https://issues.dlang.org/show_bug.cgi?id=21896
Issue ID: 21896
Summary: static if test fails after alias assignment
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: normal
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: andrei at erdani.com
Consider the code below. The first static assert passes, the second fails:
template Works(T)
{
static if (is(T U == const U))
{
pragma(msg, "is const");
alias Works = U;
}
else
{
alias Works = T;
}
}
template Fails(T)
{
alias Fails = T;
static if (is(T U == const U))
{
pragma(msg, "assigning");
Fails = U;
}
}
static assert(is(Works!(const int) == int));
static assert(is(Fails!(const int) == int));
--
More information about the Digitalmars-d-bugs
mailing list