Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 5 additions & 7 deletions source/compatibility.tex
Original file line number Diff line number Diff line change
Expand Up @@ -2916,21 +2916,19 @@

\diffref{basic.types}
\change
C allows ``compatible types'' in several places, \Cpp{} does not.\\
C allows mixing between ``compatible types'' in several places where \Cpp{} does not.\\
For example,
otherwise-identical \keyword{struct} types with different tag names
are ``compatible'' in C but are distinctly different types
in \Cpp{}.
enumerated types are ``compatible'' with their underlying types in C but, in \Cpp{},
enumerations are types distinct from their underlying types.
\rationale
Stricter type checking is essential for \Cpp{}.
\effect
Deletion of semantically well-defined feature.
\difficulty
Semantic transformation.
The ``typesafe linkage'' mechanism will find many, but not all,
of such problems.
Those problems not found by typesafe linkage will continue to
function properly,
such problems.
Some cases are allowed by \Cpp{}
according to the ``layout compatibility rules'' of this
document.
\howwide
Expand Down