#include #include #include #include #include template using Foo = T; template struct Bar { Foo f; P p; }; template using Baz = Foo; template struct NeverUsedWithDefault { T field; }; extern "C" { void foo_root(Foo f, Bar b, Baz z); void with_i32(NeverUsedWithDefault x); } // extern "C"