@@ -3847,7 +3847,8 @@ ERROR(decl_from_hidden_module,none,
38473847 " %2 was not imported by this file|"
38483848 " C++ types from imported module %2 do not support library evolution|"
38493849 " it was imported via the internal bridging header|"
3850- " %2 was not imported publicly}3" ,
3850+ " %2 was not imported publicly|"
3851+ " it is a struct marked '@_implementationOnly'}3" ,
38513852 (const Decl *, unsigned , Identifier, unsigned ))
38523853ERROR(typealias_desugars_to_type_from_hidden_module,none,
38533854 " %0 aliases '%1.%2' and cannot be used %select{here|"
@@ -3865,7 +3866,8 @@ ERROR(typealias_desugars_to_type_from_hidden_module,none,
38653866 " %4 was not imported by this file|"
38663867 " C++ types from imported module %4 do not support library evolution|"
38673868 " it was imported via the internal bridging header|"
3868- " %4 was not imported publicly}5" ,
3869+ " %4 was not imported publicly|"
3870+ " it is a struct marked '@_implementationOnly'}5" ,
38693871 (const TypeAliasDecl *, StringRef, StringRef, unsigned , Identifier, unsigned ))
38703872ERROR(conformance_from_implementation_only_module,none,
38713873 " cannot use conformance of %0 to %1 %select{here|as property wrapper here|"
@@ -3881,7 +3883,8 @@ ERROR(conformance_from_implementation_only_module,none,
38813883 " %3 was not imported by this file|"
38823884 " C++ types from imported module %3 do not support library evolution|"
38833885 " it was imported via the internal bridging header|"
3884- " %3 was not imported publicly}4" ,
3886+ " %3 was not imported publicly|"
3887+ " it is a struct marked '@_implementationOnly'}4" ,
38853888 (Type, Identifier, unsigned , Identifier, unsigned ))
38863889NOTE(assoc_conformance_from_implementation_only_module,none,
38873890 " in associated type %0 (inferred as %1)" , (Type, Type))
@@ -3946,6 +3949,9 @@ ERROR(implementation_only_override_import_without_attr,none,
39463949 " override of %kindonly0 imported as implementation-only must be declared "
39473950 " '@_implementationOnly'" ,
39483951 (const ValueDecl *))
3952+ ERROR(implementation_only_on_structs_feature,none,
3953+ " '@_implementationOnly' on structs requires "
3954+ " '-enable-experimental-feature CheckImplementationOnly'" , ())
39493955
39503956ERROR(import_attr_conflict,none,
39513957 " %0 inconsistently imported with %1" ,
@@ -4128,7 +4134,7 @@ WARNING(attr_has_no_effect_on_decl_with_access_level,none,
41284134 (DeclAttribute, AccessLevel))
41294135ERROR(attr_not_on_decl_with_invalid_access_level,none,
41304136 " '%0' may not be used on "
4131- " %select{private|fileprivate|internal|package|%error |%error}1 declarations" ,
4137+ " %select{private|fileprivate|internal|package|public |%error}1 declarations" ,
41324138 (DeclAttribute, AccessLevel))
41334139
41344140ERROR(attr_has_no_effect_decl_not_available_before,none,
@@ -7350,7 +7356,8 @@ ERROR(inlinable_decl_ref_from_hidden_module,
73507356 " %2 was not imported by this file|"
73517357 " C++ APIs from imported module %2 do not support library evolution|"
73527358 " it was imported via the internal bridging header|"
7353- " %2 was not imported publicly}3" ,
7359+ " %2 was not imported publicly|"
7360+ " it is a struct marked '@_implementationOnly'}3" ,
73547361 (const ValueDecl *, unsigned , Identifier, unsigned ))
73557362
73567363ERROR(inlinable_typealias_desugars_to_type_from_hidden_module,
@@ -7362,7 +7369,8 @@ ERROR(inlinable_typealias_desugars_to_type_from_hidden_module,
73627369 " %4 was not imported by this file|"
73637370 " C++ types from imported module %4 do not support library evolution|"
73647371 " it was imported via the internal bridging header|"
7365- " %4 was not imported publicly}5" ,
7372+ " %4 was not imported publicly|"
7373+ " it is a struct marked '@_implementationOnly'}5" ,
73667374 (const TypeAliasDecl *, StringRef, StringRef, unsigned , Identifier, unsigned ))
73677375
73687376NOTE(missing_import_inserted,
0 commit comments