mirror of
https://forge.sourceware.org/marek/gcc.git
synced 2026-02-22 20:01:31 -05:00
A return statement in a discarded statement is not used for return type deduction, but we still want to do deduction for a return statement in a lambda in a discarded statement. PR c++/93442 * parser.c (cp_parser_lambda_expression): Clear in_discarded_stmt.
17 lines
242 B
C
17 lines
242 B
C
// PR c++/93442
|
|
// { dg-do compile { target c++17 } }
|
|
|
|
struct bar {
|
|
int foo(){return 0;}
|
|
};
|
|
|
|
int foobar() {
|
|
if constexpr(true) {
|
|
return 0;
|
|
} else {
|
|
return [](){
|
|
return bar{};
|
|
}().foo();
|
|
}
|
|
}
|