This is an archive of the discontinued LLVM Phabricator instance.

[libc++] Avoid instantiating type_trait classes
ClosedPublic

Authored by philnik on Aug 27 2022, 1:21 AM.

Details

Summary

Use using aliases to avoid instantiating lots of types

Diff Detail

Event Timeline

philnik created this revision.Aug 27 2022, 1:21 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 27 2022, 1:21 AM
Herald added a subscriber: miyuki. · View Herald Transcript
philnik requested review of this revision.Aug 27 2022, 1:21 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 27 2022, 1:21 AM
Herald added a reviewer: Restricted Project. · View Herald Transcript
philnik updated this revision to Diff 457218.Sep 1 2022, 3:27 AM
  • Try to fix CI
ldionne accepted this revision.Sep 2 2022, 9:45 AM

LGTM assuming fixing the GCC issues don't require any significant changes. My preference would actually be to rewrite the SFINAE in a separate patch prior to this one, so that this one doesn't need to change at all. If you do that, ping me on Discord so I can fast track it.

This revision is now accepted and ready to land.Sep 2 2022, 9:45 AM
philnik updated this revision to Diff 458058.Sep 5 2022, 3:35 PM
  • Fix GCC

LGTM assuming fixing the GCC issues don't require any significant changes. My preference would actually be to rewrite the SFINAE in a separate patch prior to this one, so that this one doesn't need to change at all. If you do that, ping me on Discord so I can fast track it.

It was just replacing _IsSame<typename remove_cv<_Tp>::type, void>::value with is_void<_Tp>::value, so I don't think it's worth an extra PR.

This revision was automatically updated to reflect the committed changes.