// { dg-additional-options "-fmodules-ts -std=c++20" } | |
import M; | |
struct Variant0 | |
{ | |
}; | |
struct Variant2 | |
{ | |
using element_type = double; | |
}; | |
struct Variant3 | |
{ | |
using value_type = float; | |
}; | |
void f() | |
{ | |
using v0 = traits<Variant0>; | |
using v1 = traits<Variant0 *>; | |
using v2 = traits<Variant2 *>; | |
using v3 = traits<Variant3 *>; | |
static_assert (v0::variant == 0); | |
static_assert (v1::variant == 1); | |
static_assert (v2::variant == 2); | |
static_assert (v3::variant == 3); | |
} |