DIP 1003: remove `body` as a keyword
Timon Gehr via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Fri Nov 25 03:39:52 PST 2016
On 24.11.2016 10:24, Kagamin wrote:
> On Wednesday, 23 November 2016 at 20:24:13 UTC, Timon Gehr wrote:
>> Technically, there is an ambiguity (technically, ambiguity means that
>> there are multiple grammar derivations resulting in the same sentence).
>> Pragmatically, the greedy parse-the-body-if-possible-approach will work.
>
> I see no ambiguity even if parsing is not greedy.
import std.stdio;
pragma(mangle,"_D2tt4mainFZ3fooUZv")
void foo()in{ assert(true); }{
writeln("Hello World!");
}
void main(){
static extern(C) void foo()in{ assert(true); }
{ foo(); }
}
Removing contracts, is this this code (printing "Hello World!"):
import std.stdio;
pragma(mangle,"_D2tt4mainFZ3fooUZv")
void foo(){
writeln("Hello World!");
}
void main(){
static extern(C) void foo();
{ foo(); }
}
Or this code (linker error):
import std.stdio;
pragma(mangle,"_D2tt4mainFZ3fooUZv")
void foo(){
writeln("Hello World!");
}
void main(){
static extern(C) void foo()
{ foo(); }
}
More information about the Digitalmars-d-announce
mailing list