inferred vs. annotated attributes
Q. Schroll via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sat Sep 10 01:23:35 PDT 2016
Is there a difference between inferred and annotated attributes?
Example:
struct X(T)
{
this(S)(in S[] arr) // inferred pure
{ }
}
void main() pure
{
X!uint mut = [ 1, 2 ]; // proves inference (cf. main is
pure)
// immutable X!uint imm1 = [ 1, 2 ];
// auto imm2 = immutable X!uint([1, 2]);
}
The commented lines yield error messages claiming the constructor
cannot deduce function from argument types !()(int[]) immutable,
however it can, if "pure" is explicitly annotated.
Is this a bug or did I get something wrong about inference /
unique expressions?
More information about the Digitalmars-d-learn
mailing list