From Jason Turner

[diff.cpp03.temp]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpxc8vkhnp/{from.md → to.md} +18 -20
tmp/tmpxc8vkhnp/{from.md → to.md} RENAMED
@@ -1,30 +1,28 @@
1
- ### Clause [[temp]]: templates <a id="diff.cpp03.temp">[[diff.cpp03.temp]]</a>
2
 
3
- [[temp.param]] **Change:** Remove `export`. **Rationale:** No
4
- implementation consensus. **Effect on original feature:** A valid
5
- C++03declaration containing `export` is ill-formed in this International
6
- Standard.
7
 
8
- [[temp.arg]] **Change:** Remove whitespace requirement for nested
9
- closing template right angle brackets. **Rationale:** Considered a
10
- persistent but minor annoyance. Template aliases representing non-class
11
- types would exacerbate whitespace issues. **Effect on original
12
- feature:** Change to semantics of well-defined expression. A valid
13
- C++03expression containing a right angle bracket (“`>`”) followed
14
- immediately by another right angle bracket may now be treated as closing
15
- two templates. For example, the following code is valid in C++03because
16
- “`>>`” is a right-shift operator, but invalid in this International
17
- Standard because “`>>`” closes two templates.
18
 
19
  ``` cpp
20
  template <class T> struct X { };
21
  template <int N> struct Y { };
22
  X< Y< 1 >> 2 > > x;
23
  ```
24
 
25
- [[temp.dep.candidate]] **Change:** Allow dependent calls of functions
26
- with internal linkage. **Rationale:** Overly constrained, simplify
27
- overload resolution rules. **Effect on original feature:** A valid
28
- C++03program could get a different result than this International
29
- Standard.
30
 
 
1
+ ### [[temp]]: templates <a id="diff.cpp03.temp">[[diff.cpp03.temp]]</a>
2
 
3
+ **Change:** Remove `export`. **Rationale:** No implementation consensus.
4
+ **Effect on original feature:** A valid C++03 declaration containing
5
+ `export` is ill-formed in this International Standard.
 
6
 
7
+ **Change:** Remove whitespace requirement for nested closing template
8
+ right angle brackets. **Rationale:** Considered a persistent but minor
9
+ annoyance. Template aliases representing non-class types would
10
+ exacerbate whitespace issues. **Effect on original feature:** Change to
11
+ semantics of well-defined expression. A valid C++03 expression
12
+ containing a right angle bracket (“`>`”) followed immediately by another
13
+ right angle bracket may now be treated as closing two templates. For
14
+ example, the following code is valid in C++03 because “`>>`” is a
15
+ right-shift operator, but invalid in this International Standard because
16
+ “`>>`” closes two templates.
17
 
18
  ``` cpp
19
  template <class T> struct X { };
20
  template <int N> struct Y { };
21
  X< Y< 1 >> 2 > > x;
22
  ```
23
 
24
+ **Change:** Allow dependent calls of functions with internal linkage.
25
+ **Rationale:** Overly constrained, simplify overload resolution rules.
26
+ **Effect on original feature:** A valid C++03 program could get a
27
+ different result than this International Standard.
 
28