X: type requires std::is_same_v && std::is_same_v = { operator=: (out this) = { } } f: (forward a: int, forward b: int) -> int requires std::is_same_v && std::is_same_v = { return a * b; } v: const T requires std::same_as = 0; main: () = { _: X = (); std::cout << f(2,5); }