From Jason Turner

[res.on.arguments]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpca24rnuq/{from.md → to.md} +10 -9
tmp/tmpca24rnuq/{from.md → to.md} RENAMED
@@ -11,15 +11,16 @@ the C++standard library, unless explicitly stated otherwise.
11
  address computations and accesses to objects (that would be valid if
12
  the pointer did point to the first element of such an array) are in
13
  fact valid.
14
  - If a function argument binds to an rvalue reference parameter, the
15
  implementation may assume that this parameter is a unique reference to
16
- this argument. If the parameter is a generic parameter of the form
17
- `T&&` and an lvalue of type `A` is bound, the argument binds to an
18
- lvalue reference ([[temp.deduct.call]]) and thus is not covered by
19
- the previous sentence. If a program casts an lvalue to an xvalue while
20
- passing that lvalue to a library function (e.g. by calling the
21
- function with the argument `move(x)`), the program is effectively
22
- asking that function to treat that lvalue as a temporary. The
23
- implementation is free to optimize away aliasing checks which might be
24
- needed if the argument was an lvalue.
 
25
 
 
11
  address computations and accesses to objects (that would be valid if
12
  the pointer did point to the first element of such an array) are in
13
  fact valid.
14
  - If a function argument binds to an rvalue reference parameter, the
15
  implementation may assume that this parameter is a unique reference to
16
+ this argument. \[*Note 1*: If the parameter is a generic parameter of
17
+ the form `T&&` and an lvalue of type `A` is bound, the argument binds
18
+ to an lvalue reference ([[temp.deduct.call]]) and thus is not covered
19
+ by the previous sentence. *end note*] \[*Note 2*: If a program
20
+ casts an lvalue to an xvalue while passing that lvalue to a library
21
+ function (e.g. by calling the function with the argument
22
+ `std::move(x)`), the program is effectively asking that function to
23
+ treat that lvalue as a temporary. The implementation is free to
24
+ optimize away aliasing checks which might be needed if the argument
25
+ was an lvalue. — *end note*]
26