Skip to content

Implement P2255R2 Type Traits To Detect References Binding To Temporaries for Clang #5537

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

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

frederick-vs-ja
Copy link
Contributor

@frederick-vs-ja frederick-vs-ja commented May 24, 2025

Towards #2534.

Notes:

  • Currently this is only enabled for Clang, because MSVC and EDG haven't implemented the necessary intrinsics.
  • There's workaround for LLVM-114344.
  • LWG-3819 has not been implemented. Because Clang's intrinsics haven't covered these cases, and library workaround doesn't seem possible.
  • Test coverage for allocator_arg_t constructors of tuple is missing. It seems to me uses-allocator construction is meaningless for tuple containing references. I've tried to submit an LWG issue to make the allocator_arg_t constructors of tuple<Ts...> deleted when (is_reference_v<Ts> || ...) is true. Edit: LWG-4267.

@StephanTLavavej StephanTLavavej self-assigned this May 27, 2025
@StephanTLavavej StephanTLavavej added the cxx23 C++23 feature label May 27, 2025
@StephanTLavavej StephanTLavavej added the compiler Compiler work involved label Jun 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler Compiler work involved cxx23 C++23 feature
Projects
Status: Initial Review
Development

Successfully merging this pull request may close these issues.

2 participants