noexcept is a messier than const because it's not straightforward to assess if code you rely on should be throwing or not since that's an implementation detail versus a contract around data ownership. This makes maintenance hard as implementations change.
It'd be nice to see compilers infer the exception behavior themselves and do these optimizations when appropriate.
It'd be nice to see compilers infer the exception behavior themselves and do these optimizations when appropriate.