Date: Sun, 16 Feb 2025 14:11:42 +0000
Declaring a variable without a type is not allowed, in any case that would be an issue with semantics, and not with the feature itself.
-----Original Message-----
From: Std-Proposals <std-proposals-bounces_at_lists.isocpp.org> On Behalf Of Bo Persson via Std-Proposals
Sent: Sunday, February 16, 2025 12:54 PM
To: std-proposals_at_[hidden]p.org
Cc: Bo Persson <bo_at_[hidden]>
Subject: Re: [std-proposals] Delayed const declaration
On sön 2025-02-16 at 12:08, Tiago Freire via Std-Proposals wrote:
> If you are going to do that, perhaps we can simplify the syntax a
> little bit.
>
> Instead of having to declare [mutable const] which makes the variable
> open for writes like any other regular variable.
>
> We could just omit [mutable const] and deduce that after the fact
> depending on either or not a close statement is used, instead of:
>
> [mutable const] int x = 0;
>
> const x;
>
> you would simplify it as:
>
> int x = 0;
>
> const x;
>
The two-step declaration has the disadvantage that it invites typos. Or when you change the name of x, you might forget the const declaration half a page further down. Now some other x is const?
This reminds me of a similar problems with goto, where added code before and after the label affects what the goto means (in a totally different location).
--
Std-Proposals mailing list
Std-Proposals_at_[hidden]
https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals
-----Original Message-----
From: Std-Proposals <std-proposals-bounces_at_lists.isocpp.org> On Behalf Of Bo Persson via Std-Proposals
Sent: Sunday, February 16, 2025 12:54 PM
To: std-proposals_at_[hidden]p.org
Cc: Bo Persson <bo_at_[hidden]>
Subject: Re: [std-proposals] Delayed const declaration
On sön 2025-02-16 at 12:08, Tiago Freire via Std-Proposals wrote:
> If you are going to do that, perhaps we can simplify the syntax a
> little bit.
>
> Instead of having to declare [mutable const] which makes the variable
> open for writes like any other regular variable.
>
> We could just omit [mutable const] and deduce that after the fact
> depending on either or not a close statement is used, instead of:
>
> [mutable const] int x = 0;
>
> const x;
>
> you would simplify it as:
>
> int x = 0;
>
> const x;
>
The two-step declaration has the disadvantage that it invites typos. Or when you change the name of x, you might forget the const declaration half a page further down. Now some other x is const?
This reminds me of a similar problems with goto, where added code before and after the label affects what the goto means (in a totally different location).
--
Std-Proposals mailing list
Std-Proposals_at_[hidden]
https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals
Received on 2025-02-16 14:11:47