// { dg-additional-options "-fmodules-ts -fconcepts" }

export module foo;
// { dg-module-cmi foo }

export template<typename T>
requires (sizeof (T) == 1)
  char f1 (T x) { return 0; }

export template<typename T>
requires (sizeof (T) != 1)
  int f1 (T x) { return 0; }

void foo (int i, char c)
{
  static_assert (sizeof (f1 (i)) == sizeof (int));
  static_assert (sizeof (f1 (c)) == sizeof (char));
}