www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 23287] New: Invalid nogc code succeeds when compilation with

https://issues.dlang.org/show_bug.cgi?id=23287

          Issue ID: 23287
           Summary: Invalid  nogc code succeeds when compilation with -o-
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: ibuclaw gdcproject.org

This is issue 23112, but for when compiling with dmd -o-
---
struct Forward(alias F) 
 {
    auto call()() 
    {
        return F();
    }
}

auto bar(int a)  nogc nothrow  safe 
{
    auto f()
    {
        return a;
    }
    return Forward!f();
}

extern(C) void main()  nogc 
{
    assert(bar(3).call() == 3);
}

--
Aug 08 2022