@@ -244,7 +244,10 @@ class BaseRules : public TyVisitor
244
244
245
245
virtual void visit (NeverType &type) override
246
246
{
247
- resolved = get_base ()->clone ();
247
+ Location ref_locus = mappings->lookup_location (type.get_ref ());
248
+ rust_error_at (ref_locus, " expected [%s] got [%s]" ,
249
+ get_base ()->as_string ().c_str (),
250
+ type.as_string ().c_str ());
248
251
}
249
252
250
253
protected:
@@ -1099,43 +1102,6 @@ class NeverRules : public BaseRules
1099
1102
public:
1100
1103
NeverRules (NeverType *base) : BaseRules (base), base (base) {}
1101
1104
1102
- virtual void visit (TupleType &type) override { resolved = type.clone (); }
1103
-
1104
- virtual void visit (ADTType &type) override { resolved = type.clone (); }
1105
-
1106
- virtual void visit (InferType &type) override { resolved = type.clone (); }
1107
-
1108
- virtual void visit (FnType &type) override { resolved = type.clone (); }
1109
-
1110
- virtual void visit (FnPtr &type) override { resolved = type.clone (); }
1111
-
1112
- virtual void visit (ArrayType &type) override { resolved = type.clone (); }
1113
-
1114
- virtual void visit (BoolType &type) override { resolved = type.clone (); }
1115
-
1116
- virtual void visit (IntType &type) override { resolved = type.clone (); }
1117
-
1118
- virtual void visit (UintType &type) override { resolved = type.clone (); }
1119
-
1120
- virtual void visit (USizeType &type) override { resolved = type.clone (); }
1121
-
1122
- virtual void visit (ISizeType &type) override { resolved = type.clone (); }
1123
-
1124
- virtual void visit (FloatType &type) override { resolved = type.clone (); }
1125
-
1126
- virtual void visit (ErrorType &type) override { resolved = type.clone (); }
1127
-
1128
- virtual void visit (CharType &type) override { resolved = type.clone (); }
1129
-
1130
- virtual void visit (ReferenceType &type) override
1131
- {
1132
- resolved = type.clone ();
1133
- }
1134
-
1135
- virtual void visit (ParamType &type) override { resolved = type.clone (); }
1136
-
1137
- virtual void visit (StrType &type) override { resolved = type.clone (); }
1138
-
1139
1105
virtual void visit (NeverType &type) override { resolved = type.clone (); }
1140
1106
1141
1107
private:
0 commit comments