https://issues.dlang.org/show_bug.cgi?id=15923
Issue ID: 15923
Summary: is expression qualifier matching does not work with
multiple qualifiers
Product: D
Version: D2
Hardware: x86_64
OS: Linux
Status: NEW
Severity: normal
Priority: P1
Component: dmd
Assignee: [email protected]
Reporter: [email protected]
Consider:
alias T = shared(const int);
static if (is(T == shared(U), U))
pragma(msg, "works");
else
static assert(0, "does not work");
This fails to compile. The compiler should peel the "shared" and bind U to
const int. This code does work:
alias T = shared(const int);
static if (is(T == shared(const(U)), U))
pragma(msg, "works");
else
static assert(0, "does not work");
--