Fix reporting edge case where both unions are open

This commit is contained in:
Richard Feldman 2023-03-26 14:43:15 -04:00
parent 21e14589b0
commit 3013b9e113
No known key found for this signature in database
GPG key ID: F1F21AA5B1D9E43B
3 changed files with 347 additions and 16 deletions

View file

@ -3571,35 +3571,43 @@ fn diff_tag_union<'b>(
// We've removed all the tags that they had in common, so the remaining entries in tags2 // We've removed all the tags that they had in common, so the remaining entries in tags2
// are ones that appear on the right only. // are ones that appear on the right only.
let tags_in_right_only = tags2; let tags_in_right_only = tags2;
let any_tags_in_common = let no_tags_in_common = same_tags_different_payloads.is_empty() && same_tags_same_payloads == 0;
!same_tags_different_payloads.is_empty() || same_tags_same_payloads > 0;
let both = same_tags_different_payloads let both = same_tags_different_payloads
.into_iter() .into_iter()
.map(to_overlap_docs); .map(to_overlap_docs);
let any_tags_on_one_side_only = !tags_in_left_only.is_empty() || !tags_in_right_only.is_empty();
let mut left = tags_in_left_only let mut left = tags_in_left_only
.iter() .iter()
.map(|(k, v)| to_unknown_docs((k, v))) .map(|(k, v)| to_unknown_docs((k, v)))
.peekable(); .peekable();
let mut right = tags_in_right_only.iter().map(to_unknown_docs).peekable(); let mut right = tags_in_right_only.iter().map(to_unknown_docs).peekable();
let all_tags_shared = left.peek().is_none() && right.peek().is_none();
let status = match (ext_has_fixed_fields(&ext1), ext_has_fixed_fields(&ext2)) { let status = match (ext_has_fixed_fields(&ext1), ext_has_fixed_fields(&ext2)) {
(false, false) => Status::Similar, (false, false) => Status::Similar,
_ => match (left.peek(), right.peek()) { _ => match (left.peek(), right.peek()) {
// At least one tag appeared only on the left, and also
// at least one tag appeared only on the right. There's a chance this is
// because of a typo, so we'll suggest that as a hint.
(Some((f, _, _, _)), Some(_)) => Status::Different(vec![Problem::TagTypo( (Some((f, _, _, _)), Some(_)) => Status::Different(vec![Problem::TagTypo(
f.clone(), f.clone(),
tags_in_right_only.keys().cloned().collect(), tags_in_right_only.keys().cloned().collect(),
)]), )]),
// At least one tag appeared only on the left, but all of the tags
// on the right also appeared on the left. So at least one tag is missing.
(Some(_), None) => Status::Different(vec![Problem::TagsMissing( (Some(_), None) => Status::Different(vec![Problem::TagsMissing(
left.clone().map(|v| v.0).collect(), left.clone().map(|v| v.0).collect(),
)]), )]),
// At least one tag appeared only on the right, but all of the tags
// on the left also appeared on the right. So at least one tag is missing.
(None, Some(_)) => { (None, Some(_)) => {
let status = let status =
Status::Different(vec![Problem::TagsMissing(right.map(|v| v.0).collect())]); Status::Different(vec![Problem::TagsMissing(right.map(|v| v.0).collect())]);
right = tags_in_right_only.iter().map(to_unknown_docs).peekable(); right = tags_in_right_only.iter().map(to_unknown_docs).peekable();
status status
} }
// Left and right have the same set of tag names (but may have different payloads).
(None, None) => Status::Similar, (None, None) => Status::Similar,
}, },
}; };
@ -3627,7 +3635,7 @@ fn diff_tag_union<'b>(
let left_tags_omitted; let left_tags_omitted;
let right_tags_omitted; let right_tags_omitted;
if !any_tags_in_common { if no_tags_in_common {
// If they have no tags in common, we shouldn't omit any tags, // If they have no tags in common, we shouldn't omit any tags,
// because that would result in an unhelpful diff of // because that would result in an unhelpful diff of
// […] on one side and another […] on the other side! // […] on one side and another […] on the other side!
@ -3646,12 +3654,18 @@ fn diff_tag_union<'b>(
} }
tags_diff.status.merge(Status::Different(Vec::new())); tags_diff.status.merge(Status::Different(Vec::new()));
} else if !all_tags_shared { } else if any_tags_on_one_side_only {
// If either tag union is open, omit the tags in the other. In other words, // If either tag union is open but the other is not, then omit the tags in the other.
// if one tag union is a pattern match which has _ ->, don't list the tags //
// which fall under that catch-all pattern because they won't be helpful. // In other words, if one tag union is a pattern match which has _ ->,
// By omitting them, we'll only show the tags that are actually matched. // don't list the tags which fall under that catch-all pattern because
if ext2_is_open { // they won't be helpful. By omitting them, we'll only show the tags that
// are actually matched.
//
// We shouldn't do this if they're both open though,
// because that would result in an unhelpful diff of
// […] on one side and another […] on the other side!
if ext2_is_open && !ext1_is_open {
left_tags_omitted = same_tags_same_payloads + left.len(); left_tags_omitted = same_tags_same_payloads + left.len();
} else { } else {
left_tags_omitted = same_tags_same_payloads; left_tags_omitted = same_tags_same_payloads;
@ -3662,7 +3676,7 @@ fn diff_tag_union<'b>(
} }
} }
if ext1_is_open { if ext1_is_open && !ext2_is_open {
right_tags_omitted = same_tags_same_payloads + right.len(); right_tags_omitted = same_tags_same_payloads + right.len();
} else { } else {
right_tags_omitted = same_tags_same_payloads; right_tags_omitted = same_tags_same_payloads;

View file

@ -0,0 +1,317 @@
{"run_id":"1679856451-138244000","line":10547,"new":{"module_name":"test_reporting__test_reporting","snapshot_name":"expected_tag_has_too_many_args","metadata":{"source":"crates/reporting/tests/test_reporting.rs","assertion_line":10547,"expression":"golden"},"snapshot":"── TYPE MISMATCH ───────────────────────────────────────── /code/proj/Main.roc ─\n\nThe branches of this `when` expression don't match the condition:\n\n 6│> when u8 is\n 7│ Good _ _ ->\n 8│ Ok \"foo\"\n 9│\n10│ Bad _ ->\n11│ Ok \"foo\"\n\nThis `u8` value is a:\n\n [Good (List U8), …]\n\nBut the branch patterns have type:\n\n [Good (List U8) *, …]\n\nThe branches must be cases of the `when` condition's type!\n"},"old":{"module_name":"test_reporting__test_reporting","metadata":{},"snapshot":"── TYPE MISMATCH ───────────────────────────────────────── /code/proj/Main.roc ─\n\nThe branches of this `when` expression don't match the condition:\n\n 6│> when u8 is\n 7│ Good _ _ ->\n 8│ Ok \"foo\"\n 9│\n10│ Bad _ ->\n11│ Ok \"foo\"\n\nThis `u8` value is a:\n\n [Bad [DecodeProblem], Good (List U8)]\n\nBut the branch patterns have type:\n\n [Bad [DecodeProblem], Good (List U8) *]\n\nThe branches must be cases of the `when` condition's type!"}}
{"run_id":"1679856451-138244000","line":8901,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":10093,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4105,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7119,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3701,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1635,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3541,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1657,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1581,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1902,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1613,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1514,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1546,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9276,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":10458,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4015,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":8552,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9674,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9697,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7408,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9737,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7312,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9723,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7328,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7360,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7344,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4921,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7392,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5229,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7376,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5205,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7296,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9050,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7280,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":901,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":874,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":823,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9626,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":13075,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":13112,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":13040,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4083,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":13148,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":6455,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":8337,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5818,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":6379,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":6417,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":10679,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2463,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7102,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3581,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3647,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9929,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5334,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3457,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5504,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5768,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3229,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3176,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3251,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3207,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":8107,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3725,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":8086,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9790,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":10970,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":6688,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":6791,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":6769,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5045,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":6724,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5066,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5248,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":6746,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9102,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7613,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5573,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5594,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":8021,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7424,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7477,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12470,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7451,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12262,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12406,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12332,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12518,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12290,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12438,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12360,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12205,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12167,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":11971,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":11992,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12581,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5268,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12609,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12552,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12637,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":642,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2018,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1976,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1955,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1934,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1997,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12136,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12109,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":10330,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":6652,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5440,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5424,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2039,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4208,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3777,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12075,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1313,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":8313,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1364,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12041,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12901,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12924,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12996,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12972,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3407,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7264,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7184,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7216,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7152,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7248,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":6858,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":10487,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":6888,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9301,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9118,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9074,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":8061,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9954,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":6291,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":6335,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7079,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9596,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5294,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9405,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9369,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9559,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9446,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9524,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9484,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7789,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7850,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7821,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7886,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7923,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5637,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7991,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7953,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7658,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7639,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":10024,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7726,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4971,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4049,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3802,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3953,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3827,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3984,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3855,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3887,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1817,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3918,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":6170,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":6147,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":6214,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":6124,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1831,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1792,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1763,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1735,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1847,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2681,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1680,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1874,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1708,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2588,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2708,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2850,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2824,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2621,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2794,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2737,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2767,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2657,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2437,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3321,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1151,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1190,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1225,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1126,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12678,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7694,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1287,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1261,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4187,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2989,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4228,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4433,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3013,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4455,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4387,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4477,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4409,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4498,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2965,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1404,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3082,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1070,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":10708,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3047,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9145,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9979,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7534,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9834,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7557,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7580,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":666,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":520,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":550,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":497,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":582,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12825,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":11859,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":11896,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":11933,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2939,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9862,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12868,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4117,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5408,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5391,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":8433,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12937,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":9749,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":11261,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4323,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4345,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4301,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4366,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":10303,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5618,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12714,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":10050,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1440,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3110,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2516,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4247,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1477,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3273,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2550,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":994,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3297,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4640,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":960,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":3370,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4831,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4579,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4785,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4533,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4556,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4659,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4808,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4690,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4763,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":6193,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5316,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4609,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2194,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7168,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2222,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7136,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7232,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":8359,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":11790,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7200,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5352,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2875,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":6825,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":10857,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":10831,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":7762,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":10744,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":10759,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":12014,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":8128,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":4163,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":693,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":10919,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2344,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":1040,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":10658,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":10277,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2323,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2373,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5367,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5010,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5111,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5167,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5130,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":2405,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":5656,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":473,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":928,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":847,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":8269,"new":null,"old":null}
{"run_id":"1679856451-138244000","line":8291,"new":null,"old":null}
{"run_id":"1679856513-58355000","line":10547,"new":{"module_name":"test_reporting__test_reporting","snapshot_name":"expected_tag_has_too_many_args","metadata":{"source":"crates/reporting/tests/test_reporting.rs","assertion_line":10547,"expression":"golden"},"snapshot":"── TYPE MISMATCH ───────────────────────────────────────── /code/proj/Main.roc ─\n\nThe branches of this `when` expression don't match the condition:\n\n 6│> when u8 is\n 7│ Good _ _ ->\n 8│ Ok \"foo\"\n 9│\n10│ Bad _ ->\n11│ Ok \"foo\"\n\nThis `u8` value is a:\n\n [Good (List U8), …]\n\nBut the branch patterns have type:\n\n [Good (List U8) *, …]\n\nThe branches must be cases of the `when` condition's type!\n"},"old":{"module_name":"test_reporting__test_reporting","metadata":{},"snapshot":"── TYPE MISMATCH ───────────────────────────────────────── /code/proj/Main.roc ─\n\nThe branches of this `when` expression don't match the condition:\n\n 6│> when u8 is\n 7│ Good _ _ ->\n 8│ Ok \"foo\"\n 9│\n10│ Bad _ ->\n11│ Ok \"foo\"\n\nThis `u8` value is a:\n\n [Bad [DecodeProblem], Good (List U8)]\n\nBut the branch patterns have type:\n\n [Bad [DecodeProblem], Good (List U8) *]\n\nThe branches must be cases of the `when` condition's type!"}}

View file

@ -13137,11 +13137,11 @@ I recommend using camelCase. It's the standard style in Roc code!
This `map` call produces: This `map` call produces:
List [One, Two] List [Two, ]
But the type annotation on `main` says it should be: But the type annotation on `main` says it should be:
List [One] List []
"### "###
); );
@ -13175,11 +13175,11 @@ I recommend using camelCase. It's the standard style in Roc code!
This `map` call produces: This `map` call produces:
List [One, Two] List [Two, ]
But the type annotation on `main` says it should be: But the type annotation on `main` says it should be:
List [One] List []
"### "###
); );