Date: Fri, 27 Feb 2026 16:10:36 +0000
On Fri, 27 Feb 2026 at 15:07, mm-studios via Std-Proposals <
std-proposals_at_[hidden]> wrote:
> Hi C++ enthusiasts,
> This is my first message to std proposals.
> I wanted to share a few different ideas expressed as 1liners I could work
> further, in order to find reasons for pursuing them (or not) as formal
> proposals. These ideas are (succinct):
>
>
> 1. Code verbosity reduction. Ampliate the language allowing custom
> defaults for const/mut and noexcept/except (include new keywords to express
> opposite specifiers).
>
>
What does "custom defaults" mean?
>
> 1. Code verbosity reduction. Eliminate auto keyword or making it
> optional. Are there strong reasons to keep typing auto when compilers might
> deduce its presence just because it's missing (positional abscense)
>
>
I think this would almost certainly make some things ambiguous, but the
benefit seems very very minor, or arguably it would be negative value.
>
> 1. Abstraction. Elevate abstraction on pointer dereference. Does it
> really matter if we use "." (dot) or "->" (arrow) to access internal
> structure?. I can foresee complexities with smart pointers, where both
> methods are used to access 2 different interfaces (for for smart_ptr
> object, arrow for accessing the dereferenced underlying object. But it
> might be a subject to brainstorm it further.
>
>
Over my dead body. Somebody tried to propose this before, and the solution
is just horrible and creates more problems than it solves.
Not only smart pointers but iterators too. Lots of code doing things like
iter.base() or iter->base() would no longer be clear what it does, and
you'd have to write things like (**iter).base() more often. This would not
make things simpler, it would make code harder to reason about.
std-proposals_at_[hidden]> wrote:
> Hi C++ enthusiasts,
> This is my first message to std proposals.
> I wanted to share a few different ideas expressed as 1liners I could work
> further, in order to find reasons for pursuing them (or not) as formal
> proposals. These ideas are (succinct):
>
>
> 1. Code verbosity reduction. Ampliate the language allowing custom
> defaults for const/mut and noexcept/except (include new keywords to express
> opposite specifiers).
>
>
What does "custom defaults" mean?
>
> 1. Code verbosity reduction. Eliminate auto keyword or making it
> optional. Are there strong reasons to keep typing auto when compilers might
> deduce its presence just because it's missing (positional abscense)
>
>
I think this would almost certainly make some things ambiguous, but the
benefit seems very very minor, or arguably it would be negative value.
>
> 1. Abstraction. Elevate abstraction on pointer dereference. Does it
> really matter if we use "." (dot) or "->" (arrow) to access internal
> structure?. I can foresee complexities with smart pointers, where both
> methods are used to access 2 different interfaces (for for smart_ptr
> object, arrow for accessing the dereferenced underlying object. But it
> might be a subject to brainstorm it further.
>
>
Over my dead body. Somebody tried to propose this before, and the solution
is just horrible and creates more problems than it solves.
Not only smart pointers but iterators too. Lots of code doing things like
iter.base() or iter->base() would no longer be clear what it does, and
you'd have to write things like (**iter).base() more often. This would not
make things simpler, it would make code harder to reason about.
Received on 2026-02-27 16:10:57
