From Jason Turner

[dcl.attr.deprecated]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpykq492uv/{from.md → to.md} +25 -19
tmp/tmpykq492uv/{from.md → to.md} RENAMED
@@ -1,37 +1,43 @@
1
  ### Deprecated attribute <a id="dcl.attr.deprecated">[[dcl.attr.deprecated]]</a>
2
 
3
  The *attribute-token* `deprecated` can be used to mark names and
4
  entities whose use is still allowed, but is discouraged for some reason.
5
- in particular, `deprecated` is appropriate for names and entities that
6
- are deemed obsolescent or unsafe. It shall appear at most once in each
7
- *attribute-list*. An *attribute-argument-clause* may be present and, if
8
- present, it shall have the form:
 
 
 
9
 
10
  ``` cpp
11
  ( string-literal )
12
  ```
13
 
14
- the *string-literal* in the *attribute-argument-clause* could be used to
15
- explain the rationale for deprecation and/or to suggest a replacing
16
- entity.
17
 
18
  The attribute may be applied to the declaration of a class, a
19
- *typedef-name*, a variable, a non-static data member, a function, an
20
- enumeration, or a template specialization.
21
 
22
  A name or entity declared without the `deprecated` attribute can later
23
- be re-declared with the attribute and vice-versa. Thus, an entity
24
- initially declared without the attribute can be marked as deprecated by
25
- a subsequent redeclaration. However, after an entity is marked as
26
- deprecated, later redeclarations do not un-deprecate the entity.
 
 
 
27
  Redeclarations using different forms of the attribute (with or without
28
  the *attribute-argument-clause* or with different
29
  *attribute-argument-clause*s) are allowed.
30
 
31
- Implementations may use the `deprecated `attribute to produce a
32
- diagnostic message in case the program refers to a name or entity other
33
- than to declare it, after a declaration that specifies the attribute.
34
- The diagnostic message may include the text provided within the
35
- *attribute-argument-clause* of any `deprecated` attribute applied to the
36
- name or entity.
37
 
 
1
  ### Deprecated attribute <a id="dcl.attr.deprecated">[[dcl.attr.deprecated]]</a>
2
 
3
  The *attribute-token* `deprecated` can be used to mark names and
4
  entities whose use is still allowed, but is discouraged for some reason.
5
+
6
+ [*Note 1*: In particular, `deprecated` is appropriate for names and
7
+ entities that are deemed obsolescent or unsafe. — *end note*]
8
+
9
+ It shall appear at most once in each *attribute-list*. An
10
+ *attribute-argument-clause* may be present and, if present, it shall
11
+ have the form:
12
 
13
  ``` cpp
14
  ( string-literal )
15
  ```
16
 
17
+ [*Note 2*: The *string-literal* in the *attribute-argument-clause*
18
+ could be used to explain the rationale for deprecation and/or to suggest
19
+ a replacing entity. — *end note*]
20
 
21
  The attribute may be applied to the declaration of a class, a
22
+ *typedef-name*, a variable, a non-static data member, a function, a
23
+ namespace, an enumeration, an enumerator, or a template specialization.
24
 
25
  A name or entity declared without the `deprecated` attribute can later
26
+ be redeclared with the attribute and vice-versa.
27
+
28
+ [*Note 3*: Thus, an entity initially declared without the attribute can
29
+ be marked as deprecated by a subsequent redeclaration. However, after an
30
+ entity is marked as deprecated, later redeclarations do not un-deprecate
31
+ the entity. — *end note*]
32
+
33
  Redeclarations using different forms of the attribute (with or without
34
  the *attribute-argument-clause* or with different
35
  *attribute-argument-clause*s) are allowed.
36
 
37
+ [*Note 4*: Implementations may use the `deprecated` attribute to
38
+ produce a diagnostic message in case the program refers to a name or
39
+ entity other than to declare it, after a declaration that specifies the
40
+ attribute. The diagnostic message may include the text provided within
41
+ the *attribute-argument-clause* of any `deprecated` attribute applied to
42
+ the name or entity. — *end note*]
43