From Jason Turner

[intro.compliance]

Diff to HTML by rtfpessoa

tmp/tmppy6vgpzy/{from.md → to.md} RENAMED
@@ -1,29 +1,33 @@
1
  ## Implementation compliance <a id="intro.compliance">[[intro.compliance]]</a>
2
 
3
  The set of *diagnosable rules* consists of all syntactic and semantic
4
  rules in this International Standard except for those rules containing
5
  an explicit notation that “no diagnostic is required” or which are
6
- described as resulting in “undefined behavior.
7
 
8
  Although this International Standard states only requirements on C++
9
  implementations, those requirements are often easier to understand if
10
  they are phrased as requirements on programs, parts of programs, or
11
  execution of programs. Such requirements have the following meaning:
12
 
13
  - If a program contains no violations of the rules in this International
14
  Standard, a conforming implementation shall, within its resource
15
  limits, accept and correctly execute[^2] that program.
16
  - If a program contains a violation of any diagnosable rule or an
17
- occurrence of a construct described in this Standard as
18
  “conditionally-supported” when the implementation does not support
19
  that construct, a conforming implementation shall issue at least one
20
  diagnostic message.
21
  - If a program contains a violation of a rule for which no diagnostic is
22
  required, this International Standard places no requirement on
23
  implementations with respect to that program.
24
 
 
 
 
 
25
  For classes and class templates, the library Clauses specify partial
26
  definitions. Private members (Clause  [[class.access]]) are not
27
  specified, but each implementation shall supply them to complete the
28
  definitions according to the description in the library Clauses.
29
 
 
1
  ## Implementation compliance <a id="intro.compliance">[[intro.compliance]]</a>
2
 
3
  The set of *diagnosable rules* consists of all syntactic and semantic
4
  rules in this International Standard except for those rules containing
5
  an explicit notation that “no diagnostic is required” or which are
6
+ described as resulting in “undefined behavior”.
7
 
8
  Although this International Standard states only requirements on C++
9
  implementations, those requirements are often easier to understand if
10
  they are phrased as requirements on programs, parts of programs, or
11
  execution of programs. Such requirements have the following meaning:
12
 
13
  - If a program contains no violations of the rules in this International
14
  Standard, a conforming implementation shall, within its resource
15
  limits, accept and correctly execute[^2] that program.
16
  - If a program contains a violation of any diagnosable rule or an
17
+ occurrence of a construct described in this International Standard as
18
  “conditionally-supported” when the implementation does not support
19
  that construct, a conforming implementation shall issue at least one
20
  diagnostic message.
21
  - If a program contains a violation of a rule for which no diagnostic is
22
  required, this International Standard places no requirement on
23
  implementations with respect to that program.
24
 
25
+ [*Note 1*: During template argument deduction and substitution, certain
26
+ constructs that in other contexts require a diagnostic are treated
27
+ differently; see  [[temp.deduct]]. — *end note*]
28
+
29
  For classes and class templates, the library Clauses specify partial
30
  definitions. Private members (Clause  [[class.access]]) are not
31
  specified, but each implementation shall supply them to complete the
32
  definitions according to the description in the library Clauses.
33