https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94967
Bug ID: 94967 Summary: std::get<0>(tuple<int> const &&) returns wrong type Product: gcc Version: 7.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rene.r...@fu-berlin.de Target Milestone: --- Hi GCC Team, i couldn't find anything in the advanced search about this but I was wondering if this is not reported already. According to the tuple get implementation, the return type of get over a `const && tuple` should also be `const &&`. But this fails with gcc 7 but works with gcc-8,9 and 10. Here is the link to godbolt: https://godbolt.org/z/akae2V And this is the offending line that fails ``` #include <tuple> static_assert(std::is_same<decltype(std::get<0>(std::declval<std::tuple<int> const &&>())), int const &&>::value); ``` Thank you very much for your support.