Date: Thu, 8 Sep 2022 20:58:19 -0400
On Thu, Sep 8, 2022 at 8:33 PM Zopolis0 via Std-Proposals
<std-proposals_at_[hidden]> wrote:
>
> > This means that by the time you get to your `export-declaration`,
> > there must have already been a `module-declaration`, which specified
> > the `module-name`.
>
> I don't see what you mean here.
> Are you saying that this is invalid:
>
> export module foo;
> //do_stuff
> export void things {}
>
> Because I use that in my code already.
> What I am proposing, in short, is to make this valid
>
> export module foo namespace bar
> //do_stuff
> export void things {}
That part at the top where you say `export module`? That grammar is
NOT an `export-declaration`. That is a `module-declaration`. That's
the name of the C++ grammar for that.
Your proposal changes the wrong piece of C++ grammar. That was my point.
Also, you changed the grammar wrong even if you were trying to change
`module-declaration`. A `module-declaration` looks like this:
> export-keyword(opt) module-keyword module-name module-partition(opt) attribute-specifier-seq(opt);
If you want to modify a module declaration, that is the grammar you
need to work with.
> I don't see how this is a significant deviation from the standard.
I don't see how your proposal is clear enough to be certain how it
intends to deviate from the standard.
<std-proposals_at_[hidden]> wrote:
>
> > This means that by the time you get to your `export-declaration`,
> > there must have already been a `module-declaration`, which specified
> > the `module-name`.
>
> I don't see what you mean here.
> Are you saying that this is invalid:
>
> export module foo;
> //do_stuff
> export void things {}
>
> Because I use that in my code already.
> What I am proposing, in short, is to make this valid
>
> export module foo namespace bar
> //do_stuff
> export void things {}
That part at the top where you say `export module`? That grammar is
NOT an `export-declaration`. That is a `module-declaration`. That's
the name of the C++ grammar for that.
Your proposal changes the wrong piece of C++ grammar. That was my point.
Also, you changed the grammar wrong even if you were trying to change
`module-declaration`. A `module-declaration` looks like this:
> export-keyword(opt) module-keyword module-name module-partition(opt) attribute-specifier-seq(opt);
If you want to modify a module declaration, that is the grammar you
need to work with.
> I don't see how this is a significant deviation from the standard.
I don't see how your proposal is clear enough to be certain how it
intends to deviate from the standard.
Received on 2022-09-09 00:58:51