30 lines
946 B
Markdown
30 lines
946 B
Markdown
[diff.cpp17.expr]
|
||
|
||
# Annex C (informative) Compatibility [[diff]](./#diff)
|
||
|
||
## C.3 C++ and ISO C++ 2017 [[diff.cpp17]](diff.cpp17#expr)
|
||
|
||
### C.3.4 [[expr]](expr "7 Expressions"): expressions [diff.cpp17.expr]
|
||
|
||
[1](#1)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/compatibility.tex#L1010)
|
||
|
||
**Affected subclause:** [[expr.prim.lambda.capture]](expr.prim.lambda.capture)
|
||
|
||
|
||
**Change:** Implicit lambda capture may capture additional entities[.](#1.sentence-1)
|
||
|
||
|
||
|
||
|
||
**Rationale:** Rule simplification, necessary to resolve interactions with constexpr if[.](#1.sentence-2)
|
||
|
||
|
||
|
||
|
||
**Effect on original feature:** Lambdas with a [*capture-default*](expr.prim.lambda.capture#nt:capture-default "7.5.6.3 Captures [expr.prim.lambda.capture]") may capture local entities
|
||
that were not captured in C++ 2017
|
||
if those entities are only referenced in contexts
|
||
that do not result in an odr-use[.](#1.sentence-3)
|