www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 20504] New: grammar allows missing function body for


          Issue ID: 20504
           Summary: grammar allows missing function body for
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Keywords: spec
          Severity: normal
          Priority: P1
         Component: dlang.org
          Assignee: nobody puremagic.com
          Reporter: dkorpel live.nl

This does not compile:
void foo()() {
    nothrow bar() {} // allowed
    nothrow bar(); // should parse according to spec
The spec says that in an AutoFuncDeclaration a MissingFunctionBody is allowed,
yet even before instantiating template foo it raises an error:
Error: function declaration without return type.

I suggest only allowing SpecifiedFunctionBody in an AutoFuncDeclaration since
it would always be a semantic error anyways (you can't infer the return type
without a function body).


Jan 14 2020