Connected features
Papers
5 · Virtual Jul 2022 → Brno 2026Simplifies implicit move: return x; treats a local or reference parameter as an xvalue, so rvalue-reference returns move.
Allows the backing array of a braced initializer_list to have static storage, so it need not be copied to the stack.
Makes it ill-formed to return a reference bound to a temporary (return "str"; from a const string& function).
Clarifies the brace-elision rules in aggregate initialization (DR, resolves CWG2149).
Allows designated initializers to name base class subobjects.