Hello Michael,

Am Mittwoch, dem 22.01.2025 um 16:54 +0100 schrieb Michael Matz:
> On Wed, 22 Jan 2025, Martin Uecker wrote:
> 
> > > > So you do not need to look further.  But maybe I am missing something 
> > > > else.
> > > 
> > > Like ...
> > > 
> > > > > Note further that you may have '{ .y[1][3].z }', which is still not a 
> > > > > designation, but an expression under your proposal, whereas
> > > > > '{ .y[1][3].z = 1 }' would remain a designation.  This shows that you 
> > > > > now need arbitrary look-ahead to disambiguate the two.  A Very Bad 
> > > > > Idea.
> > > 
> > > ... this?
> > 
> > In .y[1][3].z  after .y you can decide whether y is a member of the
> > struct being initialized.  If it is, it is a designator and if not
> > it must be an expression.
> 
> If y is not a member it must be an expression, true.  But if it's a member 
> you don't know, it may be a designation or an expression.

In an initializer I know all the members.

Martin 


Reply via email to