From Jason Turner

[diff.cpp17.temp]

Diff to HTML by rtfpessoa

tmp/tmp0tzi09po/{from.md → to.md} RENAMED
@@ -1,16 +1,18 @@
1
  ### [[temp]]: templates <a id="diff.cpp17.temp">[[diff.cpp17.temp]]</a>
2
 
3
  **Change:** An *unqualified-id* that is followed by a `<` and for which
4
  name lookup finds nothing or finds a function will be treated as a
5
- *template-name* in order to potentially cause argument dependent lookup
6
  to be performed. **Rationale:** It was problematic to call a function
7
- template with an explicit template argument list via argument dependent
8
  lookup because of the need to have a template with the same name visible
9
  via normal lookup. **Effect on original feature:** Previously valid code
10
  that uses a function name as the left operand of a `<` operator would
11
- become ill-formed. For example:
 
 
12
 
13
  ``` cpp
14
  struct A {};
15
  bool operator<(void (*fp)(), A);
16
  void f() {}
@@ -19,5 +21,7 @@ int main() {
19
  f < a; // ill-formed; previously well-formed
20
  (f) < a; // still well-formed
21
  }
22
  ```
23
 
 
 
 
1
  ### [[temp]]: templates <a id="diff.cpp17.temp">[[diff.cpp17.temp]]</a>
2
 
3
  **Change:** An *unqualified-id* that is followed by a `<` and for which
4
  name lookup finds nothing or finds a function will be treated as a
5
+ *template-name* in order to potentially cause argument-dependent lookup
6
  to be performed. **Rationale:** It was problematic to call a function
7
+ template with an explicit template argument list via argument-dependent
8
  lookup because of the need to have a template with the same name visible
9
  via normal lookup. **Effect on original feature:** Previously valid code
10
  that uses a function name as the left operand of a `<` operator would
11
+ become ill-formed.
12
+
13
+ [*Example 1*:
14
 
15
  ``` cpp
16
  struct A {};
17
  bool operator<(void (*fp)(), A);
18
  void f() {}
 
21
  f < a; // ill-formed; previously well-formed
22
  (f) < a; // still well-formed
23
  }
24
  ```
25
 
26
+ — *end example*]
27
+