@@ -38,6 +38,8 @@ NOTE(extended_type_declared_here,none,
3838 " extended type declared here" , ())
3939NOTE(opaque_return_type_declared_here,none,
4040 " opaque return type declared here" , ())
41+ NOTE(default_value_declared_here,none,
42+ " default value declared here" , ())
4143
4244// ------------------------------------------------------------------------------
4345// MARK: Constraint solver diagnostics
@@ -6240,5 +6242,28 @@ ERROR(type_sequence_on_non_generic_param, none,
62406242 " '@_typeSequence' must appear on a generic parameter" ,
62416243 ())
62426244
6245+ // ------------------------------------------------------------------------------
6246+ // MARK: Type inference from default expressions
6247+ // ------------------------------------------------------------------------------
6248+
6249+ ERROR(cannot_default_generic_parameter_inferrable_from_another_parameter, none,
6250+ " cannot use default expression for inference of %0 because it "
6251+ " is inferrable from parameters %1" ,
6252+ (Type, StringRef))
6253+
6254+ ERROR(cannot_default_generic_parameter_inferrable_through_same_type, none,
6255+ " cannot use default expression for inference of %0 because it "
6256+ " is inferrable through same-type requirement: '%1'" ,
6257+ (Type, StringRef))
6258+
6259+ ERROR(cannot_default_generic_parameter_invalid_requirement, none,
6260+ " cannot use default expression for inference of %0 because "
6261+ " requirement '%1' refers to other generic parameters" ,
6262+ (Type, StringRef))
6263+
6264+ ERROR(cannot_convert_default_value_type_to_argument_type, none,
6265+ " cannot convert default value of type %0 to expected argument type %1 for parameter #%2" ,
6266+ (Type, Type, unsigned ))
6267+
62436268#define UNDEFINE_DIAGNOSTIC_MACROS
62446269#include " DefineDiagnosticMacros.h"
0 commit comments