Does the behavior of guaranteed copy elision depend on existence of user-defined copy constructor?

Quoting from C++17 Working Draft ยง15.2 Temporary Objects Paragraph 3 (https://timsong-cpp.github.io/cppwp/class.temporary#3): When an object of class type X is passed to or returned from a function, if each copy constructor, move constructor, and destructor of X is either trivial or deleted, and X has at least one non-deleted copy or move constructor, implementations are permitted … Read more