[Issue 19625] New: [Reg 2.066] module-level static template struct can't take alias to a delegate
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Jan 28 18:10:17 UTC 2019
https://issues.dlang.org/show_bug.cgi?id=19625
Issue ID: 19625
Summary: [Reg 2.066] module-level static template struct can't
take alias to a delegate
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: regression
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: john.loughran.colvin at gmail.com
static struct S(alias f)
{
int foo() { return f(); }
}
void main()
{
int a;
int b = S!(() => a)().foo;
}
Error: function onlineapp.main.S!(delegate () => a).S.foo cannot access frame
of function D main
Removing the `static` causes it to compile fine, but why does static do
anything at module scope? I tried to read the docs but they didn't say much on
the topic.
This was fixed in https://github.com/dlang/dmd/pull/2794 and then broken again
in the revert https://github.com/dlang/dmd/pull/3884/
--
More information about the Digitalmars-d-bugs
mailing list