A valid function with no return type?
Stefan Koch
uplink.coder at googlemail.com
Thu Sep 24 21:39:18 UTC 2020
On Thursday, 24 September 2020 at 21:32:20 UTC, Meta wrote:
> On Thursday, 24 September 2020 at 21:26:30 UTC, Max Haughton
> wrote:
>> https://issues.dlang.org/show_bug.cgi?id=12638
>>
>> https://run.dlang.io/is/jkEIiI
>>
>> ref foo() {}
>>
>> void main()
>> {
>> import std.traits;
>> pragma(msg, ReturnType!foo);
>> foo();
>> }
>>
>> Assuming this is supposed to be allowed by the standard,
>> replacing void with ref (i.e. ref main { ) does not compile
>> which suggests something isn't right.
>
> Anything other than `void main()`, `void main(string[] args)`,
> `int main()`, `int main(string[] args)` will cause the compiler
> report a compile error. It's probably special-cased in the
> compiler somewhere.
Actually that's wrong.
The compiler will happily accept any number of qualifiers you
stick on your main.
More information about the Digitalmars-d
mailing list