This is an archive of the discontinued LLVM Phabricator instance.

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

Authored by cjdb on Oct 4 2022, 11:28 PM.

Details

Reviewers
aaron.ballman
Group Reviewers
Restricted Project
Summary
  • __is_move_constructible
  • __is_nothrow_move_constructible
  • __is_trivially_move_constructible

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.

Unlike their default-constructible cousins, the move-constructible
traits can't be implemented using __is_constructible, etc., because we
can't form references to void, and references are a fundamental part
of move constructors.

This was originally a part of D116280.

Depends on D135239.

Diff Detail

Event Timeline

cjdb created this revision.Oct 4 2022, 11:28 PM
Herald added a project: Restricted Project. · View Herald TranscriptOct 4 2022, 11:28 PM
cjdb requested review of this revision.Oct 4 2022, 11:28 PM
Herald added a project: Restricted Project. · View Herald TranscriptOct 4 2022, 11:28 PM
Herald added a subscriber: cfe-commits. · View Herald Transcript
cjdb added a reviewer: Restricted Project.Oct 4 2022, 11:29 PM
erichkeane added a subscriber: Restricted Project.Oct 6 2022, 6:23 AM
erichkeane added a subscriber: erichkeane.

Same comments on triviality here unfortunately.

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

Abandoning, since this doesn't have consensus.