2. Why This Won’t Break Existing Code
This proposal is backward-compatible because:
autois already optional in normal return types:int func();This change is purely syntactic—it does not affect semantics.
Existing code using
autoremains fully valid.
auto func() -> int; // Remains valid
auto func() -> decltype(some_expression); // Also validThus, this proposal only removes an unnecessary restriction without introducing breaking changes.