mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-28 14:24:45 +00:00
Tag with no args in error msgs (#471)
This commit is contained in:
parent
9170f126ac
commit
f319fdad79
4 changed files with 45 additions and 6 deletions
|
@ -758,7 +758,10 @@ pub fn constrain_expr(
|
|||
Box::new(Type::Variable(*ext_var)),
|
||||
),
|
||||
expected.clone(),
|
||||
Category::TagApply(name.clone()),
|
||||
Category::TagApply {
|
||||
tag_name: name.clone(),
|
||||
args_count: arguments.len(),
|
||||
},
|
||||
region,
|
||||
);
|
||||
let ast_con = Eq(
|
||||
|
|
|
@ -620,13 +620,19 @@ pub fn constrain_expr(
|
|||
let union_con = Eq(
|
||||
union_type,
|
||||
expected.clone(),
|
||||
Category::TagApply(name.clone()),
|
||||
Category::TagApply {
|
||||
tag_name: name.clone(),
|
||||
args_count: arguments.len(),
|
||||
},
|
||||
region,
|
||||
);
|
||||
let ast_con = Eq(
|
||||
Type::Variable(*variant_var),
|
||||
expected,
|
||||
Category::TagApply(name.clone()),
|
||||
Category::TagApply {
|
||||
tag_name: name.clone(),
|
||||
args_count: arguments.len(),
|
||||
},
|
||||
region,
|
||||
);
|
||||
|
||||
|
|
|
@ -882,12 +882,39 @@ fn add_category<'b>(
|
|||
|
||||
Lambda => alloc.concat(vec![this_is, alloc.text(" an anonymous function of type:")]),
|
||||
|
||||
TagApply(TagName::Global(name)) => alloc.concat(vec![
|
||||
TagApply {
|
||||
tag_name: TagName::Global(name),
|
||||
args_count: 0,
|
||||
} => alloc.concat(vec![
|
||||
alloc.text("This "),
|
||||
alloc.global_tag_name(name.to_owned()),
|
||||
if name.as_str() == "True" || name.as_str() == "False" {
|
||||
alloc.text(" boolean has the type:")
|
||||
} else {
|
||||
alloc.text(" global tag has the type:")
|
||||
},
|
||||
]),
|
||||
TagApply {
|
||||
tag_name: TagName::Private(name),
|
||||
args_count: 0,
|
||||
} => alloc.concat(vec![
|
||||
alloc.text("This "),
|
||||
alloc.private_tag_name(*name),
|
||||
alloc.text(" private tag has the type:"),
|
||||
]),
|
||||
|
||||
TagApply {
|
||||
tag_name: TagName::Global(name),
|
||||
args_count: _,
|
||||
} => alloc.concat(vec![
|
||||
alloc.text("This "),
|
||||
alloc.global_tag_name(name.to_owned()),
|
||||
alloc.text(" global tag application has the type:"),
|
||||
]),
|
||||
TagApply(TagName::Private(name)) => alloc.concat(vec![
|
||||
TagApply {
|
||||
tag_name: TagName::Private(name),
|
||||
args_count: _,
|
||||
} => alloc.concat(vec![
|
||||
alloc.text("This "),
|
||||
alloc.private_tag_name(*name),
|
||||
alloc.text(" private tag application has the type:"),
|
||||
|
|
|
@ -927,7 +927,10 @@ pub enum Category {
|
|||
Lookup(Symbol),
|
||||
CallResult(Option<Symbol>),
|
||||
LowLevelOpResult(LowLevel),
|
||||
TagApply(TagName),
|
||||
TagApply {
|
||||
tag_name: TagName,
|
||||
args_count: usize,
|
||||
},
|
||||
Lambda,
|
||||
Uniqueness,
|
||||
StrInterpolation,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue