@@ -3170,7 +3170,7 @@ ERROR(recursive_superclass_constraint,none,
3170
3170
ERROR(requires_same_concrete_type,none,
3171
3171
" generic signature requires types %0 and %1 to be the same" , (Type, Type))
3172
3172
WARNING(redundant_conformance_constraint,none,
3173
- " redundant conformance constraint %0 : %1" , (Type, ProtocolDecl * ))
3173
+ " redundant conformance constraint %0 : %1" , (Type, Type ))
3174
3174
3175
3175
WARNING(missing_protocol_refinement, none,
3176
3176
" 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,
7533
7533
// ------------------------------------------------------------------------------
7534
7534
// MARK: Noncopyable Types Diagnostics
7535
7535
// ------------------------------------------------------------------------------
7536
-
7536
+ ERROR(noncopyable_but_copyable, none,
7537
+ " %kind0 required to be 'Copyable' but is marked with '~Copyable'" ,
7538
+ (const ValueDecl *))
7537
7539
ERROR(noncopyable_class, none,
7538
7540
" classes cannot be noncopyable" ,
7539
7541
())
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 *))
7540
7548
ERROR(noncopyable_type_member_in_copyable,none,
7541
7549
" %select{stored property %2|associated value %2}1 of "
7542
7550
" 'Copyable'-conforming %kind3 has noncopyable type %0" ,
7543
7551
(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" ,
7546
7554
(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 " ,
7549
7557
(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" ,
7552
7564
(const ValueDecl *, StringRef))
7553
7565
NOTE(add_explicit_protocol_for_conformance,none,
7554
7566
" consider making %kind0 explicitly conform to the '%1' protocol" ,
0 commit comments