Correct forum for discussing documentation issues?
Andre Artus
andre.artus at gmail.com
Sat Aug 3 04:22:41 PDT 2013
On Saturday, 3 August 2013 at 10:31:47 UTC, Peter Alexander wrote:
> On Saturday, 3 August 2013 at 10:26:53 UTC, Andre Artus wrote:
>> What would be the correct forum to discuss a possible
>> correction to the D Language specification?
>
> Do you want to discuss it, or just report it?
>
> If it looks like an error, then just report the issue to the D
> bug database:
>
> http://d.puremagic.com/issues/enter_bug.cgi?product=D (select
> the "websites" component)
>
> If you're not sure if it's an error, then you could discuss it
> in this forum, although it might be better just to report the
> bug anyway. If it's not an error then someone will just close
> it, hopefully explaining why it's not an error :-)
It looks like a error to me, which may not be saying a whole lot.
The "static import ImportList ;" production given in
'ImportDeclaration'[http://dlang.org/module.html#ImportDeclaration]
seems redundant because it is already covered by
'AttributeSpecifier'[http://dlang.org/attribute.html#AttributeSpecifier].
I don't know whether this is:
- an artefact of a previous incarnation of the language spec,
- a conscious decision to redundantly document the attribute
specifiers on 'import',
- or that being awake for more than 24 hours is not a good time
to be reading language specs.
ImportDeclaration:
import ImportList ;
static import ImportList ; //** seems redundant
Already specified in
AttributeSpecifier:
Attribute :
Attribute DeclarationBlock
Attribute:
// ...
ProtectionAttribute
**static**
// ...
I'm not sure that I am explaining this properly as it seems that
at least 2 different people were under the impression I was
making a point quite different from the one I was trying to make.
But, if you follow the grammar as it's currently written then the
following should be valid D (assuming the parser correctly deals
with the conflicting 'static' terminals):
static { // 'static' from AttributeSpecifier
static import teleport; // 'static' from ImportDeclaration
}
--AND--
static: // 'static' from AttributeSpecifier
static import teleport; // 'static' from ImportDeclaration
You could still parse the above after removing the 'static import
ImportList ;' production from ImportDeclaration: it would just
unambiguously go through AttributeSpecifier.
More information about the Digitalmars-d
mailing list