-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LWG 2899 Issue Addressed #193
Conversation
The following code is what I used to test
|
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. I'd be concerned about the lack of positive test coverage (i.e., that unique_ptr
is move-meowable when the deleter is_move_meowable_v
) were this a new library component, but I know we have enough actual usage of unique_ptr
around the test suite to cover it.
I'll approve contingent on this being applied internally with the test bits before it's merged here.
@CaseyCarter that makes sense! |
@CaseyCarter can you explain why we don't need |
Thanks @StephanTLavavej for catching the |
Also updated the tests to specifically check |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
I was confused as well. We were already explicitly deleting |
Oh duh! That resolves my question. (Perhaps we should move the deleted overloads up, but that's not necessary.) |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
6844ae1
to
ffcae3b
Compare
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
Description
This addresses issue #68 by adding a constraint to
std::unique_ptr
. The move constructors are disabled if theunique_ptr
's deleter is not moveable.The
noexcept()
specifiers and constraint on the move constructor and assignment operator forstd::tuple
are already implemented and work correctly.community PRs will be delayed until the test and CI systems are online.
C++ Working Draft.
_Ugly
as perhttps://eel.is/c++draft/lex.name#3.1 .
verified by an STL maintainer before CI is online, leave this unchecked for
initial submission).
members, adding virtual functions, changing whether a type is an aggregate
or trivially copyable, etc.).
the C++ Working Draft as a reference (and any other cited standards).
If they were derived from a project that's already listed in NOTICE.txt,
that's fine, but please mention it. If they were derived from any other
project (including Boost and libc++, which are not yet listed in
NOTICE.txt), you must mention it here, so we can determine whether the
license is compatible and what else needs to be done.