-
Notifications
You must be signed in to change notification settings - Fork 15k
Closed
Labels
clang:frontendLanguage frontend issues, e.g. anything involving "Sema"Language frontend issues, e.g. anything involving "Sema"
Description
#include <type_traits>
template<typename R>
struct Foo
{
using value_type = R ;
Foo() = default;
Foo(const Foo&) = delete;
Foo(Foo&&) = delete;
Foo(Foo<Foo<R>>&& rhs)
{
}
};
/*template<typename R>
Foo(Foo<Foo<R>>&&) -> Foo<R>;*/
int main()
{
auto r1 = Foo(Foo<Foo<int>>{});
static_assert(std::is_same_v<decltype(r1)::value_type, int>);
}
Compiles with Clang 19.1.0 but fails the static_assert with Clang 20.1.0: https://godbolt.org/z/daqjan7e5
Uncommenting the explicit deduction guide seems to work around the issue.
Metadata
Metadata
Assignees
Labels
clang:frontendLanguage frontend issues, e.g. anything involving "Sema"Language frontend issues, e.g. anything involving "Sema"