After LWG 2905 (part of Kona 2017 LWG motion 20) is applied, we will have something along the lines of > If `D` is an lvalue reference type `A&`, then the signatures are: > > unique_ptr(pointer p, A& d) noexcept; > unique_ptr(pointer p, A&& d) = delete; The use of _signature_ is incorrect, as whether a function is defined as deleted or not is not part of the signature. See [defns.signature.member]. The paragraph dealing with the case where `D` is `const A&` will also have the same problem.