@@ -3170,7 +3170,7 @@ ERROR(recursive_superclass_constraint,none,
31703170ERROR(requires_same_concrete_type,none,
31713171 " generic signature requires types %0 and %1 to be the same" , (Type, Type))
31723172WARNING(redundant_conformance_constraint,none,
3173- " redundant conformance constraint %0 : %1" , (Type, ProtocolDecl * ))
3173+ " redundant conformance constraint %0 : %1" , (Type, Type ))
31743174
31753175WARNING(missing_protocol_refinement, none,
31763176 " protocol %0 should be declared to refine %1 due to a same-type constraint on 'Self'" ,
@@ -7533,22 +7533,34 @@ ERROR(accessor_macro_not_single_var, none,
75337533// ------------------------------------------------------------------------------
75347534// MARK: Noncopyable Types Diagnostics
75357535// ------------------------------------------------------------------------------
7536-
7536+ ERROR(noncopyable_but_copyable, none,
7537+ " %kind0 required to be 'Copyable' but is marked with '~Copyable'" ,
7538+ (const ValueDecl *))
75377539ERROR(noncopyable_class, none,
75387540 " classes cannot be noncopyable" ,
75397541 ())
7542+ ERROR(inverse_extension, none,
7543+ " cannot apply inverse %0 to extension" ,
7544+ (Type))
7545+ ERROR(copyable_illegal_deinit, none,
7546+ " deinitializer cannot be declared in %kind0 that conforms to 'Copyable'" ,
7547+ (const ValueDecl *))
75407548ERROR(noncopyable_type_member_in_copyable,none,
75417549 " %select{stored property %2|associated value %2}1 of "
75427550 " 'Copyable'-conforming %kind3 has noncopyable type %0" ,
75437551 (Type, bool , DeclName, const ValueDecl *))
7544- NOTE(add_inverse_for_containment ,none,
7545- " consider removing implicit ' %1' conformance from %kind0" ,
7552+ NOTE(add_inverse ,none,
7553+ " consider adding '~ %1' to %kind0" ,
75467554 (const ValueDecl *, StringRef))
7547- NOTE(remove_inverse_on_generic_parameter_for_conformance ,none,
7548- " consider removing '~%1' from generic parameter %0 so it conforms to the '%1' protocol " ,
7555+ NOTE(note_inverse_preventing_conformance ,none,
7556+ " %0 has '~%1' constraint preventing implicit '%1' conformance " ,
75497557 (Type, StringRef))
7550- NOTE(remove_inverse_on_nominal_for_conformance,none,
7551- " consider removing '~%1' from %kind0 so it conforms to the '%1' protocol" ,
7558+ NOTE(note_inverse_preventing_conformance_implicit,none,
7559+ " %kind0 has '~%1' constraint on a generic parameter, "
7560+ " making its '%1' conformance conditional" ,
7561+ (const ValueDecl *, StringRef))
7562+ NOTE(note_inverse_preventing_conformance_explicit,none,
7563+ " %kind0 has '~%1' constraint preventing '%1' conformance" ,
75527564 (const ValueDecl *, StringRef))
75537565NOTE(add_explicit_protocol_for_conformance,none,
75547566 " consider making %kind0 explicitly conform to the '%1' protocol" ,
0 commit comments