[temp.param]
Change: Remove export.
Rationale: No implementation consensus.
Effect on original feature:
A valid C++ 2003 declaration containing export is ill-formed in this
International Standard.
[temp.arg]
Change: Remove whitespace requirement for nested closing template right angle
brackets.
Rationale: Considered a persistent but minor annoyance. Template aliases
representing non-class types would exacerbate whitespace issues.
Effect on original feature:
Change to semantics of well-defined expression. A valid C++ 2003 expression
containing a right angle bracket (“>”) followed immediately by
another right angle bracket may now be treated as closing two templates.
For example, the following code is valid in C++ 2003 because “>>”
is a right-shift operator, but invalid in this International Standard because
“>>” closes two templates.
template <class T> struct X { }; template <int N> struct Y { }; X< Y< 1 >> 2 > > x;
[temp.dep.candidate]
Change: Allow dependent calls of functions with internal linkage.
Rationale: Overly constrained, simplify overload resolution rules.
Effect on original feature:
A valid C++ 2003 program could get a different result than this
International Standard.