Skip to content

Conversation

@barcharcraz
Copy link
Contributor

@barcharcraz barcharcraz commented Mar 3, 2020

Description

Fixes #22.

  • adds bit_cast
  • adds tests for round-trip with zero initialized values
  • adds tests to ensure bit cast is not constexpr for the types specifically laid out in [bit.cast]/3
  • adds tests for some more bizarre types such as > sizeof(void*) member function pointers.

Mirror of internal PR MSVC-PR-228495

Checklist

Be sure you've read README.md and understand the scope of this repo.

If you're unsure about a box, leave it unchecked. A maintainer will help you.

  • Identifiers in product code changes are properly _Ugly as per
    https://eel.is/c++draft/lex.name#3.1 or there are no product code changes.
  • The STL builds successfully and all tests have passed (must be manually
    verified by an STL maintainer before automated testing is enabled on GitHub,
    leave this unchecked for initial submission).
  • These changes introduce no known ABI breaks (adding members, renaming
    members, adding virtual functions, changing whether a type is an aggregate
    or trivially copyable, etc.).
  • These changes were written from scratch using only this repository,
    the C++ Working Draft (including any cited standards), other WG21 papers
    (excluding reference implementations outside of proposed standard wording),
    and LWG issues as reference material. If they were derived from a project
    that's already listed in NOTICE.txt, that's fine, but please mention it.
    If they were derived from any other project (including Boost and libc++,
    which are not yet listed in NOTICE.txt), you must mention it here,
    so we can determine whether the license is compatible and what else needs
    to be done.

@barcharcraz barcharcraz requested a review from a team as a code owner March 3, 2020 21:47
@StephanTLavavej StephanTLavavej added the cxx20 C++20 feature label Mar 3, 2020
@StephanTLavavej StephanTLavavej self-assigned this Mar 4, 2020
@barcharcraz barcharcraz merged commit 8a6c278 into microsoft:master Mar 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cxx20 C++20 feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

P0476R2 <bit> bit_cast

4 participants