-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Closed
Labels
bugSomething isn't workingSomething isn't workingfixedSomething works now, yay!Something works now, yay!
Description
In an alias, a pack parameter cannot be used with a non-pack parameter and some traits fail in this case:
#include <type_traits>
template<class... xs>
using test = std::is_nothrow_convertible<xs...>; // error: pack expansion used as argument
// for non-pack parameter of alias template
std::is_nothrow_convertible<int,int> a; // ok
test<int,int> b; // fail(https://godbolt.org/z/dTbWTYd4s)
From what I understand of cppreference and https://www.eel.is/c++draft/meta.type.synop, is_nothrow_convertible should be a class (who don't have this problem).
Expected behavior
The code above should compile.
STL version
msvc 19.37.32826.1 (sorry if this is not enough, I base this on what my github CI displays, but the main branch also uses aliases).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingfixedSomething works now, yay!Something works now, yay!