Hi clang-team, the following code doesn't compile, even thought it can compile `std::type_identity` and `std::unwrap_reference` just fine since clang 9.0.0. ```c++ #include <type_traits> using a = std::type_identity<int>; // works fine using b = std::unwrap_reference_t<int>; // works fine #ifndef __cpp_lib_type_identity #error "Not defined?" #endif #ifndef __cpp_lib_unwrap_ref #error "Not defined?" #endif ``` https://godbolt.org/z/6vaa6x I thought https://eel.is/c++draft/version.syn suggests that __cpp_lib_type_identity should be defined if it was implemented. Thank you!
Oops, in the haste of writing this ticket, I forgot to add `-stdlib=libc++` in the compiler explorer. That means `unwrap_reference_t` is not implemented yet, and thus it is correct that it does not define the macro. I should have stuck to my original observed problem: ```c++ #include <type_traits> using a = std::type_identity<int>; #ifndef __cpp_lib_type_identity #error "Not defined?" #endif ``` https://godbolt.org/z/KdWEfK does not compile.