@@ -114,7 +114,7 @@ ERROR(could_not_find_imported_enum_case,none,
114114
115115NOTE(did_you_mean_raw_type,none,
116116 " did you mean to specify a raw type on the enum declaration?" , ())
117-
117+
118118NOTE(did_you_mean_generic_param_as_conformance,none,
119119 " did you mean to declare %0 as a protocol conformance for %1?" , (DeclName, Type))
120120
@@ -1302,7 +1302,7 @@ REMARK(transitive_dependency_behavior,none,
13021302 " %1 has %select{a required|an optional|an ignored}2 "
13031303 " transitive dependency on '%0'" ,
13041304 (StringRef, Identifier, unsigned ))
1305-
1305+
13061306REMARK(explicit_interface_build_skipped,none,
13071307 " Skipped rebuilding module at %0 - up-to-date" ,
13081308 (StringRef))
@@ -1556,7 +1556,7 @@ ERROR(optional_self_not_unwrapped,none,
15561556 " to make control flow explicit" , ())
15571557NOTE(optional_self_chain,none,
15581558 " reference 'self?.' explicitly" , ())
1559-
1559+
15601560ERROR(missing_unwrap_optional_try,none,
15611561 " value of optional type %0 not unwrapped; did you mean to use 'try!' "
15621562 " or chain with '?'?" ,
@@ -1567,7 +1567,7 @@ NOTE(missing_forced_downcast, none,
15671567 " did you mean to use 'as!' to force downcast?" , ())
15681568NOTE(missing_optional_downcast, none,
15691569 " did you mean to use 'as?' to conditionally downcast?" , ())
1570-
1570+
15711571WARNING(coercion_may_fail_warning,none,
15721572 " coercion from %0 to %1 may fail; use 'as?' or 'as!' instead" ,
15731573 (Type, Type))
@@ -4073,7 +4073,7 @@ NOTE(automatic_protocol_synthesis_unsupported,none,
40734073 " automatic synthesis of %0 is not supported for %kindonly1 declarations" ,
40744074 (const ProtocolDecl *, const NominalTypeDecl *))
40754075NOTE(comparable_synthesis_raw_value_not_allowed, none,
4076- " enum declares raw type %0, preventing synthesized conformance of %1 to %2" ,
4076+ " enum declares raw type %0, preventing synthesized conformance of %1 to %2" ,
40774077 (Type, Type, Type))
40784078
40794079// Dynamic Self
@@ -4679,15 +4679,15 @@ ERROR(unordered_adjacent_operators,none,
46794679ERROR(missing_builtin_precedence_group,none,
46804680 " broken standard library: missing builtin precedence group %0" ,
46814681 (Identifier))
4682- WARNING(nan_comparison, none,
4682+ WARNING(nan_comparison, none,
46834683 " comparison with '.nan' using %0 is always %select{false|true}1, use "
46844684 " '%2.isNaN' to check if '%3' %select{is not a number|is a number}1" ,
46854685 (Identifier, bool , StringRef, StringRef))
4686- WARNING(nan_comparison_without_isnan, none,
4687- " comparison with '.nan' using %0 is always %select{false|true}1" ,
4686+ WARNING(nan_comparison_without_isnan, none,
4687+ " comparison with '.nan' using %0 is always %select{false|true}1" ,
46884688 (Identifier, bool ))
4689- WARNING(nan_comparison_both_nan, none,
4690- " '.nan' %0 '.nan' is always %select{false|true}1" ,
4689+ WARNING(nan_comparison_both_nan, none,
4690+ " '.nan' %0 '.nan' is always %select{false|true}1" ,
46914691 (StringRef, bool ))
46924692
46934693// If you change this, also change enum TryKindForDiagnostics.
@@ -4826,7 +4826,7 @@ ERROR(should_use_empty_dictionary_literal,none,
48264826WARNING(duplicated_literal_keys_in_dictionary_literal, none,
48274827 " dictionary literal of type %0 has duplicate entries for %1 literal key%select{ %3|}2" ,
48284828 (Type, StringRef, bool , StringRef))
4829- NOTE(duplicated_key_declared_here, none,
4829+ NOTE(duplicated_key_declared_here, none,
48304830 " duplicate key declared here" , ())
48314831
48324832// Generic specializations
@@ -5732,7 +5732,7 @@ NOTE(property_requires_actor,none,
57325732 " initializer for %kind0 is %1" ,
57335733 (const VarDecl *, ActorIsolation))
57345734ERROR(isolated_default_argument_context,none,
5735- " %0 default value in a %1 context" ,
5735+ " %0 default value in a %1 context" ,
57365736 (ActorIsolation, ActorIsolation))
57375737ERROR(conflicting_default_argument_isolation,none,
57385738 " default argument cannot be both %0 and %1" ,
@@ -6489,7 +6489,7 @@ ERROR(differentiable_function_type_void_result,
64896489 " differentiable inout parameter, i.e. a non-'@noDerivative' parameter "
64906490 " whose type conforms to 'Differentiable'" ,
64916491 ())
6492- ERROR(differentiable_function_type_no_differentiability_parameters,
6492+ ERROR(differentiable_function_type_no_differentiability_parameters,
64936493 none,
64946494 " '@differentiable' function type requires at least one differentiability "
64956495 " parameter, i.e. a non-'@noDerivative' parameter whose type conforms to "
@@ -7531,6 +7531,9 @@ NOTE(missing_several_cases,none,
75317531NOTE(missing_unknown_case,none,
75327532 " handle unknown values using \" @unknown default\" " , ())
75337533
7534+ GROUPED_WARNING(decompose_default_case, StrictExhaustiveSwitches,DefaultIgnore,
7535+ " switch can be made exhaustive without use of 'default'; replace with known cases" , ())
7536+
75347537NOTE(non_exhaustive_switch_drop_unknown,none,
75357538 " remove '@unknown' to handle remaining values" , ())
75367539
@@ -8569,7 +8572,7 @@ ERROR(safe_and_unsafe_attr,none,
85698572 " %kindbase0 cannot be both '@safe' and '@unsafe'" , (const Decl *))
85708573
85718574GROUPED_WARNING(unsafe_superclass,StrictMemorySafety,none,
8572- " %kindbase0 has superclass involving unsafe type %1" ,
8575+ " %kindbase0 has superclass involving unsafe type %1" ,
85738576 (const ValueDecl *, Type))
85748577
85758578GROUPED_WARNING(conformance_involves_unsafe,StrictMemorySafety,none,
0 commit comments