Thread overview
Question on static declaration
Jan 11, 2014
Eric
Jan 11, 2014
Adam D. Ruppe
Jan 11, 2014
Maxim Fomin
Jan 13, 2014
bearophile
January 11, 2014
Apparently the line,

static shared static int x;

will compile just fine.  Is this sort of a bug,
or does it mean something different from just

static shared int x;

?

Also, the line,

static static static int x;

will also compile.  Does this mean x is extra static?

-Eric

January 11, 2014
On Saturday, 11 January 2014 at 17:50:01 UTC, Eric wrote:
> Does this mean x is extra static?

It is just that repeated storage classes aren't always caught as an error (though they sometimes are!)
January 11, 2014
On Saturday, 11 January 2014 at 17:50:01 UTC, Eric wrote:
> Apparently the line,
>
> static shared static int x;
>
> will compile just fine.  Is this sort of a bug,
> or does it mean something different from just
>
> static shared int x;
>
> ?
>
> Also, the line,
>
> static static static int x;
>
> will also compile.  Does this mean x is extra static?
>
> -Eric

It is a particular example of current nonsense in attribution parsing. This compiles:

void main()
{
	pure int i;
	@disable int di;
	nothrow int ni;
}

as well as more sophisticated nonsense. Issue is filed is bugzilla, so it will be fixed sooner or latter, current policy is to ignore it.
January 13, 2014
Maxim Fomin:

> as well as more sophisticated nonsense. Issue is filed is bugzilla, so it will be fixed sooner or latter, current policy is to ignore it.

See also:
https://d.puremagic.com/issues/show_bug.cgi?id=3934

Bye,
bearophile