On Sunday, 26 July 2020 at 21:48:09 UTC, Per Nordlöw wrote:
I see. Thanks.
The code
long add_long_n0(alias T=void)(long x) { return x + 0; }
should be
long add_long_n0(T=void)(long x) { return x + 0; }
. My mistake.
Thanks.
On Sunday, 26 July 2020 at 20:32:55 UTC, Iain Buclaw wrote:
This feature?
https://dlang.org/changelog/2.087.0.html#template_alias_matches_basic_types
I see. Thanks.
On Sunday, 26 July 2020 at 19:27:13 UTC, rikki cattermole wrote:
2.066.0 to 2.078.1: Failure with output: onlineapp.d(7): Error:
template instance add_long_n0!void does not match template
declaration add_long_n0(alias T = void)(long x)
2.079.1 to 2.086.1: Failure with output: onlineapp.d(7):
On Sunday, 26 July 2020 at 19:27:13 UTC, rikki cattermole wrote:
Old frontend:
Up to 2.060 : Failure with output: onlineapp.d(2): Error:
valid attribute identifiers are @property, @safe, @trusted,
@system, @disable not @nogc
2.061 to 2.065.0: Failure with output:
-
Old frontend:
Up to 2.060 : Failure with output: onlineapp.d(2): Error: valid
attribute identifiers are @property, @safe, @trusted, @system, @disable
not @nogc
2.061 to 2.065.0: Failure with output:
-
onlineapp.d(2): Error: user defined attributes cannot appear as postfixes
The code example
long add_long_n0(alias T=void)(long x) @safe pure nothrow @nogc {
return x + 0; }
int main(string[] args)
{
long long_sum = 0;
long_sum += add_long_n0!(void)(cast(long)0);
return cast(int)long_sum;
}
compiles without errors with dmd and ldc. But with gdc-10 as