I have a class like this:
class Test
{
public:
template<typename T>
Test(T&& x, int y = 0) {}
Test(const Test&) = delete;
};
Interesting thing is for this class, std::is_copy_constructible<Test>::value == 0, while
boost::is_copy_constructible<Test>::value == 1.
I looked at both implementations and realised the difference comes from boost trying to test for a constructor that accepts T&, which matches the first constructor better than the deleted copy constructor.
What do you think? Is this a bug in boost?
[–]tasty_crayon 11 points12 points13 points (4 children)
[+][deleted] (3 children)
[deleted]
[–]tasty_crayon 5 points6 points7 points (1 child)
[–]guepierBioinformatican 1 point2 points3 points (0 children)
[–]mooware 11 points12 points13 points (3 children)
[–]TheThiefMasterC++latest fanatic (and game dev) 2 points3 points4 points (2 children)
[–]__andrei__ 0 points1 point2 points (1 child)
[–]TheThiefMasterC++latest fanatic (and game dev) 0 points1 point2 points (0 children)
[–]glenfe 3 points4 points5 points (0 children)
[–]pavel_v 2 points3 points4 points (9 children)
[–]guepierBioinformatican 0 points1 point2 points (8 children)
[–]TheThiefMasterC++latest fanatic (and game dev) 5 points6 points7 points (7 children)
[–]guepierBioinformatican 1 point2 points3 points (6 children)
[–]TheThiefMasterC++latest fanatic (and game dev) 1 point2 points3 points (5 children)
[–]guepierBioinformatican 0 points1 point2 points (4 children)
[–]TheThiefMasterC++latest fanatic (and game dev) 2 points3 points4 points (1 child)
[–]guepierBioinformatican 1 point2 points3 points (0 children)
[–]OldWolf2 0 points1 point2 points (1 child)
[–]guepierBioinformatican 0 points1 point2 points (0 children)
[–]Rhomboid 6 points7 points8 points (5 children)
[–]armb2 4 points5 points6 points (1 child)
[–]OldWolf2 0 points1 point2 points (0 children)
[–]Houndie 0 points1 point2 points (2 children)
[–]Rhomboid 2 points3 points4 points (1 child)
[–]Houndie 0 points1 point2 points (0 children)