C++ Logo


Advanced search

Re: Noexcept specification of basic_string's move assignment operator in C++11 and C++14

From: Giuseppe D'Angelo <giuseppe.dangelo_at_[hidden]>
Date: Fri, 21 Feb 2020 12:52:48 +0100
Il 21/02/20 11:25, Daniel Kr├╝gler via Std-Discussion ha scritto:
>> OK. Can we say it was*against* C++11 but then it was only resolved for
>> C++17?
> Yes. AFAIK, there exists no defined process for the standard that
> applies fixes made in a later standard to previous standards.

However, in general, aren't defect resolutions supposed to be applied
retroactively? Sure, are no means to republishing an already-issued
Standard including the resolutions; but implementations are supposed to
pick them up.

Other examples:

* having multiple return statements in lambda bodies is allowed in C++11
even without a trailing return type (CWG975 resolution);

* auto x{123} is supposed to be int even when compiling in C++11 mode on
compilers implementing N3922 (as the old behavior, deducing
std::initializer_list<int>, was considered to be a defect).

My 2 c,

Giuseppe D'Angelo | giuseppe.dangelo_at_[hidden] | Senior Software Engineer
KDAB (France) S.A.S., a KDAB Group company
Tel. France +33 (0)4 90 84 08 53, http://www.kdab.com
KDAB - The Qt, C++ and OpenGL Experts

Received on 2020-02-21 05:55:33