https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95298
janpmoeller at gmx dot de changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |janpmoeller at gmx dot de --- Comment #6 from janpmoeller at gmx dot de --- This still fails in 12.2 and recent trunk: https://godbolt.org/z/vebz3T6sh I also encountered - sorry, unimplemented: mangling reference_type - sorry, unimplemented: mangling typename_type on heavily templated code. In the first case, transforming a function with signature > template<typename... Types> > constexpr auto foo(Types&&... args) -> > tuple<std::unwrap_ref_decay_t<Types>...> into > template<typename... Types> > constexpr auto foo(Types&&... args) -> decltype(auto) made the compilation error go away. In the second case, the similar transformation from > template<typename... Types> > constexpr auto bar(Types&&... args) noexcept -> tuple<Types&&...> to > template<typename... Types> > constexpr auto bar(Types&&... args) noexcept -> decltype(auto) helped. In a reduced example, I wasn't immediately able to reproduce the issue though. If it helps, I will invest more time to reduce my failing code to a reasonable-size reproduction.