From Jason Turner

[diff.cpp14.temp]

Diff to HTML by rtfpessoa

tmp/tmprg4hjo2p/{from.md → to.md} RENAMED
@@ -1,19 +1,22 @@
1
  ### [[temp]]: templates <a id="diff.cpp14.temp">[[diff.cpp14.temp]]</a>
2
 
3
- **Change:** Allowance to deduce from the type of a non-type template
4
  argument. **Rationale:** In combination with the ability to declare
5
- non-type template arguments with placeholder types, allows partial
6
- specializations to decompose from the type deduced for the non-type
7
  template argument. **Effect on original feature:** Valid C++14 code may
8
  fail to compile or produce different results in this revision of C++.
9
- For example:
 
10
 
11
  ``` cpp
12
  template <int N> struct A;
13
  template <typename T, T N> int foo(A<N> *) = delete;
14
  void foo(void *);
15
  void bar(A<0> *p) {
16
  foo(p); // ill-formed; previously well-formed
17
  }
18
  ```
19
 
 
 
 
1
  ### [[temp]]: templates <a id="diff.cpp14.temp">[[diff.cpp14.temp]]</a>
2
 
3
+ **Change:** Allowance to deduce from the type of a constant template
4
  argument. **Rationale:** In combination with the ability to declare
5
+ constant template arguments with placeholder types, allows partial
6
+ specializations to decompose from the type deduced for the constant
7
  template argument. **Effect on original feature:** Valid C++14 code may
8
  fail to compile or produce different results in this revision of C++.
9
+
10
+ [*Example 1*:
11
 
12
  ``` cpp
13
  template <int N> struct A;
14
  template <typename T, T N> int foo(A<N> *) = delete;
15
  void foo(void *);
16
  void bar(A<0> *p) {
17
  foo(p); // ill-formed; previously well-formed
18
  }
19
  ```
20
 
21
+ — *end example*]
22
+