@@ -1048,6 +1048,32 @@ TEST(TypeInferenceContextTest,
10481048 EXPECT_FALSE (context.IsAssignable (param_r, TypeType (&arena, param_t )));
10491049}
10501050
1051+ TEST (TypeInferenceContextTest,
1052+ TypeTypeAssignability_OccursCheck_MapTypeParamToTypeParam_ReturnsFalse) {
1053+ google::protobuf::Arena arena;
1054+ TypeInferenceContext context (&arena);
1055+
1056+ Type param_t =
1057+ context.InstantiateTypeParams (TypeType (&arena, TypeParamType (" T" )));
1058+ Type t_var = param_t .AsType ()->GetType ();
1059+ Type map_type = TypeType (&arena, MapType (&arena, StringType (), t_var));
1060+
1061+ EXPECT_FALSE (context.IsAssignable (map_type, param_t ));
1062+ }
1063+
1064+ TEST (TypeInferenceContextTest,
1065+ TypeTypeAssignability_OccursCheck_TypeParamToMapTypeParam_ReturnsFalse) {
1066+ google::protobuf::Arena arena;
1067+ TypeInferenceContext context (&arena);
1068+
1069+ Type param_t =
1070+ context.InstantiateTypeParams (TypeType (&arena, TypeParamType (" T" )));
1071+ Type t_var = param_t .AsType ()->GetType ();
1072+ Type map_type = TypeType (&arena, MapType (&arena, StringType (), t_var));
1073+
1074+ EXPECT_FALSE (context.IsAssignable (param_t , map_type));
1075+ }
1076+
10511077TEST (TypeInferenceContextTest,
10521078 TypeTypeOverloadResolution_TypeParamInTypeType_ResolvesReturnTypeInt) {
10531079 google::protobuf::Arena arena;
0 commit comments