The post discusses the limitations and challenges posed by the ignorable nature of attributes in C++. It outlines how the decision to make attributes ignorable has hindered the language's evolution and led to inconsistent design choices. The author argues for the need to reconsider this approach and suggests adopting non-ignorable attributes to streamline and enhance the language's functionality. Historical context and specific examples like [[nodiscard]], [[override]], and [[constinit]] are used to illustrate the adverse effects caused by the current implementation of attributes.

22m read timeFrom brevzin.github.io
Post cover image
Table of contents
The introduction of [ [ attributes ] ]The demise of [ [ override ] ]Harming Past Language EvolutionWho does ignoring attributes help?Harming Present Language EvolutionHarming Future Language EvolutionNon-Ignorable Attributes

Sort: