This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 119a. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2025-12-20
The definition of layout-compatible POD-struct types in11.4 [class.mem] paragraph 14requires thatthe two types
have the same number of members, and corresponding members (in order)have layout-compatible types (3.9).There does not appear to be any reason for including member functionsand static data members in this requirement. It would be more logicalto require only that the non-static data members of the two types mustmatch.
The characteristics of layout-compatible types are not welldescribed in the current wording, either. Apart from their use in11.4 [class.mem] paragraph 16to define theterm "common initial sequence," there appears to be nothing said aboutwhich operations are possible between objects of layout-compatible types.For example, 6.9 [basic.types]paragraphs2-3 give certain guarantees regarding use ofmemcpy onobjects of the same type; it might be reasonable to assume that thesame kinds of guarantees might apply to objects of layout-compatibletypes, but that is not said. Similarly,7.2.1 [basic.lval] paragraph 15describespermissible "type punning" but does not mention layout-compatible types.
Proposed resolution (10/00):
In 11.4 [class.mem] paragraphs 14 and 15, change alloccurrences of "members" to "nonstatic data members."