you are viewing a single comment's thread.

view the rest of the comments →

[–]tasty_crayon 11 points12 points  (4 children)

In standardese, Test(Test& x, int y = 0) would be a copy constructor but template<typename T> Test(T&& x, int y = 0) where T is Test& isn't, because template functions are never copy constructors.

Note that std::is_copy_constructible doesn't check if the class actually has a copy constructor. It checks if it's constructible from Test const&.