From Jason Turner

[temp.dep.candidate]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpd3wpbcu8/{from.md → to.md} +10 -13
tmp/tmpd3wpbcu8/{from.md → to.md} RENAMED
@@ -1,24 +1,21 @@
1
  #### Candidate functions <a id="temp.dep.candidate">[[temp.dep.candidate]]</a>
2
 
3
- For a function call that depends on a template parameter, the candidate
4
- functions are found using the usual lookup rules (
5
- [[basic.lookup.unqual]], [[basic.lookup.argdep]],  
6
- [[basic.lookup.qual]]) except that:
7
 
8
  - For the part of the lookup using unqualified name lookup (
9
- [[basic.lookup.unqual]]) or qualified name lookup (
10
- [[basic.lookup.qual]]), only function declarations from the template
11
  definition context are found.
12
  - For the part of the lookup using associated namespaces (
13
  [[basic.lookup.argdep]]), only function declarations found in either
14
  the template definition context or the template instantiation context
15
  are found.
16
 
17
- If the function name is an *unqualified-id* and the call would be
18
- ill-formed or would find a better match had the lookup within the
19
- associated namespaces considered all the function declarations with
20
- external linkage introduced in those namespaces in all translation
21
- units, not just considering those declarations found in the template
22
- definition and template instantiation contexts, then the program has
23
- undefined behavior.
24
 
 
1
  #### Candidate functions <a id="temp.dep.candidate">[[temp.dep.candidate]]</a>
2
 
3
+ For a function call where the *postfix-expression* is a dependent name,
4
+ the candidate functions are found using the usual lookup rules (
5
+ [[basic.lookup.unqual]], [[basic.lookup.argdep]]) except that:
 
6
 
7
  - For the part of the lookup using unqualified name lookup (
8
+ [[basic.lookup.unqual]]), only function declarations from the template
 
9
  definition context are found.
10
  - For the part of the lookup using associated namespaces (
11
  [[basic.lookup.argdep]]), only function declarations found in either
12
  the template definition context or the template instantiation context
13
  are found.
14
 
15
+ If the call would be ill-formed or would find a better match had the
16
+ lookup within the associated namespaces considered all the function
17
+ declarations with external linkage introduced in those namespaces in all
18
+ translation units, not just considering those declarations found in the
19
+ template definition and template instantiation contexts, then the
20
+ program has undefined behavior.
 
21