This is an archive of the discontinued LLVM Phabricator instance.

[clang] adds move-assignable type-trait builtins
AbandonedPublic

Authored by cjdb on Oct 5 2022, 6:14 PM.

Details

Reviewers
aaron.ballman
shafik
erichkeane
Group Reviewers
Restricted Project
Summary
  • __is_move_assignable
  • __is_nothrow_move_assignable
  • __is_trivially_move_assignable

This is information that the compiler already has, and should be exposed
so that the library doesn't need to reimplement the exact same
functionality.

Similarly to __is_move_construcitble, etc., these traits can't be
implemented using __is_assignable, etc., because we can't form
references to void, and references are a fundamental part of move
assignment.

This was originally a part of D116280.

Depends on D135240.

Diff Detail

Event Timeline

cjdb created this revision.Oct 5 2022, 6:14 PM
Herald added a project: Restricted Project. · View Herald TranscriptOct 5 2022, 6:14 PM
cjdb requested review of this revision.Oct 5 2022, 6:14 PM
Herald added a project: Restricted Project. · View Herald TranscriptOct 5 2022, 6:14 PM
Herald added a subscriber: cfe-commits. · View Herald Transcript
cjdb added a reviewer: Restricted Project.Oct 5 2022, 6:14 PM
erichkeane added a subscriber: Restricted Project.Oct 6 2022, 6:24 AM

Once again, concerns about triviality.

cjdb abandoned this revision.Apr 20 2023, 3:12 PM

Abandoning, since this doesn't have consensus.