public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/112926] New: issues with nested lambdas and decltype of uncaptured local variable
@ 2023-12-08 20:38 ppalka at gcc dot gnu.org
2023-12-08 20:42 ` [Bug c++/112926] " ppalka at gcc dot gnu.org
2024-04-13 20:31 ` pinskia at gcc dot gnu.org
0 siblings, 2 replies; 3+ messages in thread
From: ppalka at gcc dot gnu.org @ 2023-12-08 20:38 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112926
Bug ID: 112926
Summary: issues with nested lambdas and decltype of uncaptured
local variable
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ppalka at gcc dot gnu.org
Target Milestone: ---
Here since the outer lambda has no capture-default, using x outside of an
unevaluated operand wouldn't capture it (despite the by-copy capture-default of
the inner lambda), so the special case in
https://eel.is/c++draft/expr.prim.id.unqual#3 doesn't apply and decltype((x)
should be int& not const int&.
int main() {
int x;
[] {
[=] {
using type = decltype((x)); // should be int& not const int&
using type = int&;
};
};
}
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug c++/112926] issues with nested lambdas and decltype of uncaptured local variable
2023-12-08 20:38 [Bug c++/112926] New: issues with nested lambdas and decltype of uncaptured local variable ppalka at gcc dot gnu.org
@ 2023-12-08 20:42 ` ppalka at gcc dot gnu.org
2024-04-13 20:31 ` pinskia at gcc dot gnu.org
1 sibling, 0 replies; 3+ messages in thread
From: ppalka at gcc dot gnu.org @ 2023-12-08 20:42 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112926
Patrick Palka <ppalka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
See Also| |https://gcc.gnu.org/bugzill
| |a/show_bug.cgi?id=83167,
| |https://gcc.gnu.org/bugzill
| |a/show_bug.cgi?id=86697
Keywords| |accepts-invalid,
| |rejects-valid
--- Comment #1 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Complete rejects-valid testcase:
int main() {
int x;
[] {
[=] {
using ty1 = decltype((x)); // refers to local variable despite
// innermost by-copy capture-default
using ty1 = int&;
};
};
[=] {
[] {
using ty1 = decltype((x)); // same
using ty1 = int&;
};
};
[=] {
[&] {
using ty1 = decltype((x)); // refers to hypothetical capture proxy
using ty1 = const int&;
};
};
[&] {
[=] {
using ty1 = decltype((x)); // same
using ty1 = const int&;
};
};
[x] {
[x] {
using ty1 = decltype((x)); // refers to actual capture proxy,
// found by HIDDEN_LAMBDA name lookup
using ty1 = const int&;
};
};
[x] {
[] {
using ty1 = decltype((x)); // refers to local variable,
// HIDDEN_LAMBDA name lookup not performed
using ty1 = int&;
};
};
}
Discussion: https://gcc.gnu.org/pipermail/gcc-patches/2023-December/638976.html
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug c++/112926] issues with nested lambdas and decltype of uncaptured local variable
2023-12-08 20:38 [Bug c++/112926] New: issues with nested lambdas and decltype of uncaptured local variable ppalka at gcc dot gnu.org
2023-12-08 20:42 ` [Bug c++/112926] " ppalka at gcc dot gnu.org
@ 2024-04-13 20:31 ` pinskia at gcc dot gnu.org
1 sibling, 0 replies; 3+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-04-13 20:31 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112926
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2024-04-13
Ever confirmed|0 |1
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-04-13 20:31 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-08 20:38 [Bug c++/112926] New: issues with nested lambdas and decltype of uncaptured local variable ppalka at gcc dot gnu.org
2023-12-08 20:42 ` [Bug c++/112926] " ppalka at gcc dot gnu.org
2024-04-13 20:31 ` pinskia at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).