[Issue 24469] non-constant nested delegate literal expression - Error on delegates causing memory corruption
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Sat Mar 30 14:01:45 UTC 2024
    
    
  
https://issues.dlang.org/show_bug.cgi?id=24469
kinke <kinke at gmx.net> changed:
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kinke at gmx.net
--- Comment #2 from kinke <kinke at gmx.net> ---
Full example, showing the crash with DMD (LDC issues a compile error instead -
'Error: non-constant nested delegate literal expression `__lambda2`'):
```
struct ExistenceChecker
{
    bool delegate() checkExistenceFn;
}
ExistenceChecker makeExistenceChecker(string gemName)
{
    return ExistenceChecker(() => gemName == "dummy");
}
auto checker = makeExistenceChecker("test"); // => invalid non-constant
initializer
void main()
{
    assert(!checker.checkExistenceFn());
}
```
--
    
    
More information about the Digitalmars-d-bugs
mailing list