15template <
typename T,
typename Base>
17 std::is_same_v<std::remove_const_t<std::remove_reference_t<T>>, Base>;
20concept CompilerConfig =
requires {
21 { T::FRAME_INDEXING_NEGATIVE } -> SameBaseAs<bool>;
22 { T::PLATFORM_POINTER_SIZE } -> SameBaseAs<u32>;
23 { T::NUM_BANKS } -> SameBaseAs<u32>;
24 { T::DEFAULT_VAR_REF_HANDLING } -> SameBaseAs<bool>;
26 typename T::DefaultCCAssigner;
27 requires std::derived_from<typename T::DefaultCCAssigner, CCAssigner>;
29 typename T::Assembler;
33struct CompilerConfigDefault {
34 constexpr static bool DEFAULT_VAR_REF_HANDLING =
true;