[Issue 22420] New: [REG2.098] Apparent CTFE regression
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Oct 18 16:35:00 UTC 2021
https://issues.dlang.org/show_bug.cgi?id=22420
Issue ID: 22420
Summary: [REG2.098] Apparent CTFE regression
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: regression
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: kinke at gmx.net
Caused or at least triggered by https://github.com/dlang/dmd/pull/13137.
Reduced by Iain (thanks a lot!):
```
struct File
{
~this()
{
}
File impl()
{
return File.init;
}
alias impl this;
}
struct Variable
{
this(File)(File) { }
this(File)(File[]) { }
}
Variable wrapFunctionReturn(alias handler)(Variable params)
{
return Variable(handler(params));
}
void registerFile()
{
wrapFunctionReturn!((Variable) {
return File.init;
})(Variable.init);
}
```
Compiles fine with DMD v2.097.2; v2.098.0 and current stable fail with:
bla.d(19): Error: variable `params` cannot be read at compile time
bla.d(19): called from here: `__lambda1(params)`
bla.d(23): Error: template instance
`current.registerFile.wrapFunctionReturn!((Variable)
{
return File.init;
}
)` error instantiating
--
More information about the Digitalmars-d-bugs
mailing list