C++ Logo

sg7

Advanced search

[SG7] Fw: [isocpp-core] Most highly recommended reading in the most recent mailing: P2237R0, Metaprogramming

From: Peter Dimov <pdimov_at_[hidden]>
Date: Sat, 24 Oct 2020 20:04:36 +0300
(forwarded from ext@ per Ville's request)

> Link here: http://open-std.org/JTC1/SC22/WG21/docs/papers/2020/p2237r0.pdf

I have questions.

1. Is there a Compiler Explorer instance that hosts the latest version of
the Lock3 Clang fork, and what parts of P2237 work on it?

2. Is meta::info intended to be equality comparable, and if so, with what
semantics? Is it just a void* comparison? F.ex. after

    using int32 = int;

is reflexpr(int32) == reflexpr(int) true or false?

3. Assuming `false`, is it possible for the user to implement

    consteval bool is_same( meta::info x1, meta::info x2 );

? (I know that it would be provided as part of the implementation, but I'm
interested in whether the user can implement it.)

E.g. is

consteval bool is_same( meta::info x1, meta::info x2 )
{
    return std::is_same<|x1|, |x2|>::value;
}

a valid implementation? (I think that it isn't.)

Received on 2020-10-24 12:04:52