This is an archive of the discontinued LLVM Phabricator instance.

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

Authored by cjdb on Oct 4 2022, 10:34 PM.

Details

Reviewers
aaron.ballman
Group Reviewers
Restricted Project
Summary
  • __is_copy_assignable
  • __is_nothrow_copy_assignable
  • __is_trivially_copy_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_copy_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 copy
assignment.

Depends on D135238.

Diff Detail

Event Timeline

cjdb created this revision.Oct 4 2022, 10:34 PM
Herald added a project: Restricted Project. · View Herald TranscriptOct 4 2022, 10:34 PM
cjdb requested review of this revision.Oct 4 2022, 10:34 PM
Herald added a project: Restricted Project. · View Herald TranscriptOct 4 2022, 10:34 PM
Herald added a subscriber: cfe-commits. · View Herald Transcript
cjdb added a reviewer: Restricted Project.Oct 4 2022, 10:35 PM
cjdb updated this revision to Diff 465286.Oct 4 2022, 11:25 PM
cjdb edited the summary of this revision. (Show Details)

corrects commit message

erichkeane added a subscriber: Restricted Project.Oct 6 2022, 6:22 AM
erichkeane added a subscriber: erichkeane.

Same comment as the previous patch on triviality.

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

Abandoning, since this doesn't have consensus.