//TEST:INTERPRET(filecheck=CHECK): public interface IDataTrait { public associatedtype InputType; public static const int32_t kElementCount; } public struct DataTrait0 : IDataTrait { public typedef float InputType; public static const int32_t kElementCount = 2; } public interface IGenericInterface { public Array eval(const Di.InputType interface_input); } public struct GenericImpl : IGenericInterface { public Array eval( const Dx.InputType impl_input) { return makeArrayFromElement(impl_input); } } void main() { GenericImpl f; let rs = f.eval(1.0); printf("result is %f\n", rs[0]); // CHECK: result is 1.0 }