18 Concepts library [concepts]

18.4 Language-related concepts [concepts.lang]

18.4.14 Concept copy_constructible [concept.copyconstructible]

template<class T> concept copy_constructible = move_constructible<T> && constructible_from<T, T&> && convertible_to<T&, T> && constructible_from<T, const T&> && convertible_to<const T&, T> && constructible_from<T, const T> && convertible_to<const T, T>;
If T is an object type, then let v be an lvalue of type T or const T or an rvalue of type const T.
T models copy_constructible only if