From Jason Turner

[expr.cond]

Diff to HTML by rtfpessoa

tmp/tmpr_u665jm/{from.md → to.md} RENAMED
@@ -43,14 +43,15 @@ that determination. — *end note*]
43
  Attempts are made to form an implicit conversion sequence from an
44
  operand expression `E1` of type `T1` to a target type related to the
45
  type `T2` of the operand expression `E2` as follows:
46
 
47
  - If `E2` is an lvalue, the target type is “lvalue reference to `T2`”,
48
- subject to the constraint that in the conversion the reference must
49
- bind directly [[dcl.init.ref]] to a glvalue.
50
  - If `E2` is an xvalue, the target type is “rvalue reference to `T2`”,
51
- subject to the constraint that the reference must bind directly.
 
52
  - If `E2` is a prvalue or if neither of the conversion sequences above
53
  can be formed and at least one of the operands has (possibly
54
  cv-qualified) class type:
55
  - if `T1` and `T2` are the same class type (ignoring cv-qualification)
56
  and `T2` is at least as cv-qualified as `T1`, the target type is
@@ -82,11 +83,11 @@ and it is a bit-field if the second or the third operand is a bit-field,
82
  or if both are bit-fields.
83
 
84
  Otherwise, the result is a prvalue. If the second and third operands do
85
  not have the same type, and either has (possibly cv-qualified) class
86
  type, overload resolution is used to determine the conversions (if any)
87
- to be applied to the operands ([[over.match.oper]], [[over.built]]). If
88
  the overload resolution fails, the program is ill-formed. Otherwise, the
89
  conversions thus determined are applied, and the converted operands are
90
  used in place of the original operands for the remainder of this
91
  subclause.
92
 
 
43
  Attempts are made to form an implicit conversion sequence from an
44
  operand expression `E1` of type `T1` to a target type related to the
45
  type `T2` of the operand expression `E2` as follows:
46
 
47
  - If `E2` is an lvalue, the target type is “lvalue reference to `T2`”,
48
+ but an implicit conversion sequence can only be formed if the
49
+ reference would bind directly [[dcl.init.ref]] to a glvalue.
50
  - If `E2` is an xvalue, the target type is “rvalue reference to `T2`”,
51
+ but an implicit conversion sequence can only be formed if the
52
+ reference would bind directly.
53
  - If `E2` is a prvalue or if neither of the conversion sequences above
54
  can be formed and at least one of the operands has (possibly
55
  cv-qualified) class type:
56
  - if `T1` and `T2` are the same class type (ignoring cv-qualification)
57
  and `T2` is at least as cv-qualified as `T1`, the target type is
 
83
  or if both are bit-fields.
84
 
85
  Otherwise, the result is a prvalue. If the second and third operands do
86
  not have the same type, and either has (possibly cv-qualified) class
87
  type, overload resolution is used to determine the conversions (if any)
88
+ to be applied to the operands [[over.match.oper]], [[over.built]]. If
89
  the overload resolution fails, the program is ill-formed. Otherwise, the
90
  conversions thus determined are applied, and the converted operands are
91
  used in place of the original operands for the remainder of this
92
  subclause.
93