-
-
Notifications
You must be signed in to change notification settings - Fork 365
Open
Description
If I have a file called test.roc:
app [main!] {
pf: platform "https://github.com/lukewilliamboswell/roc-platform-template-zig/releases/download/0.6/2BfGn4M9uWJNhDVeMghGeXNVDFijMfPsmmVeo6M4QjKX.tar.zst"
}
str_err! : Str, Try(ok, Str) => Try(ok, [Exit(I32)])
str_err! = |stage, result| {
match result {
Ok(value) => Ok(value)
Err(msg) => {
Stderr.line!("Failed to ${stage}:\n${msg}")
Err(Exit(1))
}
}
}
ValueCombinationMethod := [
# Operations with higher prioraty (prioraty 3 is the highest prioraty) are executed first
# See https://en.wikipedia.org/wiki/Order_of_operations#Programming_languages
Prioraty0([BooleanAnd, BooleanOr, BooleanNot]),
Prioraty1([IsEqual, IsNotEqual, IsGreaterThan, IsLessThan, IsGreaterThanOrEqual, IsLessThanOrEqual]),
Prioraty2([Multiply, Divide, Modulo]),
Prioraty3([Add, Subtract]),
].{
less_than_or_equal = |method1, method2| {
match (method1, method2) {
(Prioraty0(_), _) => True
(_, Prioraty0(_)) => False
(Prioraty1(_), _) => True
(_, Prioraty1(_)) => False
(Prioraty2(_), _) => True
(_, Prioraty2(_)) => False
(Prioraty3(_), _) => True
(_, Prioraty3(_)) => False
}
}
}
Value := [
UInt(U64),
CombinedValue({
combination_method: ValueCombinationMethod,
value1: Value,
value2: Value,
}),
]
TokenContents : [
NewlineToken,
OpenBracketToken, # (
CloseBracketToken, # )
OpenSquareBracketToken, # [
CloseSquareBracketToken, # ]
OpenBraceToken, # {
CloseBraceToken, # }
CommaToken, # ,
ColonToken, # :
AssignToken, # =
EqualToken, # ==
MinusToken, # -
ArrowToken, # ->
DotDotToken(NumericRangeType),
DotToken, # .
ModuloToken, # %
UIntDigitsToken(U64),
IntDigitsToken(I64),
FloatDigitsToken(F64),
StrDigitsToken(Str),
ForToken,
InToken,
IfToken,
ElseToken,
DoToken,
WhileToken,
MutToken,
IdentToken(Str),
CommentToken(Str),
StringToken(Str),
EndOfFileToken,
]
TokenizerResult : (
Try(TokenContents, Str),
U64, # Index of start of token/error
U64, # New index in file
)
get_next_token : List(U8), U64 -> TokenizerResult
get_next_token = |file, index| {
Err("todo")
}
parse_value : List(U8), TokenizerResult, List(Str) -> Try((Try(TokenContents, TokenizerError), U64, List(Str), Value, U64), Str)
parse_value = |file, result, possibilities| {
(first_value, var $index) = parse_first_value(file, result, possibilities)?
(token, token_pos, $index) = get_next_token(file, $index)
(value1, token2, token2_pos) = match (first_value, token) {
(VariableReference(name), Ok(OpenBracketToken)) => {
# TODO
(t2, t2_pos, $index) = get_next_token(file, $index)
Ok((FunctionCall({name, args: []}), t2, t2_pos))
}
_ => (first_value, token, token_pos)
}
combination_method1 : ValueCombinationMethod
combination_method1 = match token2 {
Ok(ModuloToken) => Prioraty2(Modulo)
# TODO
_ => {
return Ok((token2, token2_pos, ["`%`"], value1, $index))
}
}
(token3, token3_pos, expected, value2, $index) = parse_value(file, get_next_token(file, $index), [])
value = match value2 {
CombinedValue({combination_method: combination_method2, value1: value2A, value2: value2B}) => {
if combination_method1 <= combination_method2 {
# Combination method 2 is ran first
CombinedValue({combination_method: combination_method1, value1, value2})
} else {
# Combination method 1 is ran first
CombinedValue({
combination_method: combination_method2,
value1: CombinedValue({
combination_method: combination_method1,
value1: value1,
value2: value2A,
}),
value2: value2B,
})
}
}
_ => CombinedValue({combination_method: combination_method1, value1, value2})
}
Ok((token3, token3_pos, expected, value, $index))
}
main! : List(Str) => Try({}, [Exit(I32)])
main! = |_args| {
(_token, _token_pos, _expected, value, _index) = str_err!("parse value", parse_value(Str.to_utf8("15 + 4 == 19"), 0))?
Stdout.line!(Str.inspect(value))
Ok({})
}
Then, when I run the file with roc ./test.roc, I get an error message which is too long to copy/paste into here, but the start of it is copied here:
thread 281816 panic: integer overflow
/home/jg/roc/src/check/unify.zig:440:32: 0x5287acb in unifyGuarded (mod.zig)
self.depth += 1;
^
/home/jg/roc/src/check/unify.zig:1392:38: 0x56ad1b1 in unifyTwoRecords (mod.zig)
try self.unifyGuarded(a_gathered_ext, b_gathered_ext);
^
/home/jg/roc/src/check/unify.zig:976:49: 0x5616ee6 in unifyFlatType (mod.zig)
try self.unifyTwoRecords(
^
/home/jg/roc/src/check/unify.zig:751:39: 0x552de1d in unifyStructure (mod.zig)
try self.unifyFlatType(vars, a_flat_type, b_flat_type);
^
/home/jg/roc/src/check/unify.zig:473:40: 0x5403b86 in unifyVars (mod.zig)
try self.unifyStructure(vars, a_flat_type, vars.b.desc.content);
^
/home/jg/roc/src/check/unify.zig:441:50: 0x5287afc in unifyGuarded (mod.zig)
const result = self.unifyVars(&vars);
^
/home/jg/roc/src/check/unify.zig:2110:38: 0x59743c6 in unifySharedTags (mod.zig)
try self.unifyGuarded(a_arg, b_arg);
^
/home/jg/roc/src/check/unify.zig:1837:41: 0x56aedb6 in unifyTwoTagUnions (mod.zig)
try self.unifySharedTags(
^
/home/jg/roc/src/check/unify.zig:1216:35: 0x56ac0a0 in unifyTagUnionWithNominal (mod.zig)
try self.unifyTwoTagUnions(vars, anon_tag_union, nominal_backing_tag_union);
^
/home/jg/roc/src/check/unify.zig:1044:58: 0x5617a05 in unifyFlatType (mod.zig)
try self.unifyTagUnionWithNominal(vars, b_type, b_backing_var, b_backing_resolved, a_tag_union, .b_is_nominal);
^
/home/jg/roc/src/check/unify.zig:751:39: 0x552de1d in unifyStructure (mod.zig)
try self.unifyFlatType(vars, a_flat_type, b_flat_type);
^
/home/jg/roc/src/check/unify.zig:473:40: 0x5403b86 in unifyVars (mod.zig)
try self.unifyStructure(vars, a_flat_type, vars.b.desc.content);
^
/home/jg/roc/src/check/unify.zig:441:50: 0x5287afc in unifyGuarded (mod.zig)
const result = self.unifyVars(&vars);
^
/home/jg/roc/src/check/unify.zig:1688:34: 0x597130f in unifySharedFields (mod.zig)
try self.unifyGuarded(shared.a.var_, shared.b.var_);
^
/home/jg/roc/src/check/unify.zig:1396:43: 0x56ad29a in unifyTwoRecords (mod.zig)
try self.unifySharedFields(
^
/home/jg/roc/src/check/unify.zig:976:49: 0x5616ee6 in unifyFlatType (mod.zig)
try self.unifyTwoRecords(
^
/home/jg/roc/src/check/unify.zig:751:39: 0x552de1d in unifyStructure (mod.zig)
try self.unifyFlatType(vars, a_flat_type, b_flat_type);
^
/home/jg/roc/src/check/unify.zig:473:40: 0x5403b86 in unifyVars (mod.zig)
try self.unifyStructure(vars, a_flat_type, vars.b.desc.content);
^
/home/jg/roc/src/check/unify.zig:441:50: 0x5287afc in unifyGuarded (mod.zig)
const result = self.unifyVars(&vars);
^
/home/jg/roc/src/check/unify.zig:2110:38: 0x59743c6 in unifySharedTags (mod.zig)
try self.unifyGuarded(a_arg, b_arg);
^
/home/jg/roc/src/check/unify.zig:1837:41: 0x56aedb6 in unifyTwoTagUnions (mod.zig)
try self.unifySharedTags(
^
/home/jg/roc/src/check/unify.zig:1216:35: 0x56ac0a0 in unifyTagUnionWithNominal (mod.zig)
try self.unifyTwoTagUnions(vars, anon_tag_union, nominal_backing_tag_union);
^
/home/jg/roc/src/check/unify.zig:1044:58: 0x5617a05 in unifyFlatType (mod.zig)
try self.unifyTagUnionWithNominal(vars, b_type, b_backing_var, b_backing_resolved, a_tag_union, .b_is_nominal);
^
/home/jg/roc/src/check/unify.zig:751:39: 0x552de1d in unifyStructure (mod.zig)
try self.unifyFlatType(vars, a_flat_type, b_flat_type);
^
/home/jg/roc/src/check/unify.zig:473:40: 0x5403b86 in unifyVars (mod.zig)
try self.unifyStructure(vars, a_flat_type, vars.b.desc.content);
^
/home/jg/roc/src/check/unify.zig:441:50: 0x5287afc in unifyGuarded (mod.zig)
const result = self.unifyVars(&vars);
^
/home/jg/roc/src/check/unify.zig:1688:34: 0x597130f in unifySharedFields (mod.zig)
try self.unifyGuarded(shared.a.var_, shared.b.var_);
^
/home/jg/roc/src/check/unify.zig:1396:43: 0x56ad29a in unifyTwoRecords (mod.zig)
try self.unifySharedFields(
^
/home/jg/roc/src/check/unify.zig:976:49: 0x5616ee6 in unifyFlatType (mod.zig)
try self.unifyTwoRecords(
^
/home/jg/roc/src/check/unify.zig:751:39: 0x552de1d in unifyStructure (mod.zig)
try self.unifyFlatType(vars, a_flat_type, b_flat_type);
^
/home/jg/roc/src/check/unify.zig:473:40: 0x5403b86 in unifyVars (mod.zig)
try self.unifyStructure(vars, a_flat_type, vars.b.desc.content);
^
/home/jg/roc/src/check/unify.zig:441:50: 0x5287afc in unifyGuarded (mod.zig)
const result = self.unifyVars(&vars);
^
/home/jg/roc/src/check/unify.zig:2110:38: 0x59743c6 in unifySharedTags (mod.zig)
try self.unifyGuarded(a_arg, b_arg);
^
/home/jg/roc/src/check/unify.zig:1837:41: 0x56aedb6 in unifyTwoTagUnions (mod.zig)
try self.unifySharedTags(
^
/home/jg/roc/src/check/unify.zig:1216:35: 0x56ac0a0 in unifyTagUnionWithNominal (mod.zig)
try self.unifyTwoTagUnions(vars, anon_tag_union, nominal_backing_tag_union);
^
/home/jg/roc/src/check/unify.zig:1044:58: 0x5617a05 in unifyFlatType (mod.zig)
try self.unifyTagUnionWithNominal(vars, b_type, b_backing_var, b_backing_resolved, a_tag_union, .b_is_nominal);
^
/home/jg/roc/src/check/unify.zig:751:39: 0x552de1d in unifyStructure (mod.zig)
try self.unifyFlatType(vars, a_flat_type, b_flat_type);
^
/home/jg/roc/src/check/unify.zig:473:40: 0x5403b86 in unifyVars (mod.zig)
try self.unifyStructure(vars, a_flat_type, vars.b.desc.content);
^
/home/jg/roc/src/check/unify.zig:441:50: 0x5287afc in unifyGuarded (mod.zig)
const result = self.unifyVars(&vars);
^
/home/jg/roc/src/check/unify.zig:1688:34: 0x597130f in unifySharedFields (mod.zig)
try self.unifyGuarded(shared.a.var_, shared.b.var_);
^
/home/jg/roc/src/check/unify.zig:1396:43: 0x56ad29a in unifyTwoRecords (mod.zig)
try self.unifySharedFields(
^
/home/jg/roc/src/check/unify.zig:976:49: 0x5616ee6 in unifyFlatType (mod.zig)
try self.unifyTwoRecords(
^
/home/jg/roc/src/check/unify.zig:751:39: 0x552de1d in unifyStructure (mod.zig)
try self.unifyFlatType(vars, a_flat_type, b_flat_type);
^
/home/jg/roc/src/check/unify.zig:473:40: 0x5403b86 in unifyVars (mod.zig)
try self.unifyStructure(vars, a_flat_type, vars.b.desc.content);
^
/home/jg/roc/src/check/unify.zig:441:50: 0x5287afc in unifyGuarded (mod.zig)
const result = self.unifyVars(&vars);
^
/home/jg/roc/src/check/unify.zig:2110:38: 0x59743c6 in unifySharedTags (mod.zig)
try self.unifyGuarded(a_arg, b_arg);
^
/home/jg/roc/src/check/unify.zig:1837:41: 0x56aedb6 in unifyTwoTagUnions (mod.zig)
try self.unifySharedTags(
^
/home/jg/roc/src/check/unify.zig:1216:35: 0x56ac0a0 in unifyTagUnionWithNominal (mod.zig)
try self.unifyTwoTagUnions(vars, anon_tag_union, nominal_backing_tag_union);
^
/home/jg/roc/src/check/unify.zig:1044:58: 0x5617a05 in unifyFlatType (mod.zig)
try self.unifyTagUnionWithNominal(vars, b_type, b_backing_var, b_backing_resolved, a_tag_union, .b_is_nominal);
^
/home/jg/roc/src/check/unify.zig:751:39: 0x552de1d in unifyStructure (mod.zig)
try self.unifyFlatType(vars, a_flat_type, b_flat_type);
^
/home/jg/roc/src/check/unify.zig:473:40: 0x5403b86 in unifyVars (mod.zig)
try self.unifyStructure(vars, a_flat_type, vars.b.desc.content);
^
/home/jg/roc/src/check/unify.zig:441:50: 0x5287afc in unifyGuarded (mod.zig)
const result = self.unifyVars(&vars);
^
/home/jg/roc/src/check/unify.zig:1688:34: 0x597130f in unifySharedFields (mod.zig)
try self.unifyGuarded(shared.a.var_, shared.b.var_);
^
/home/jg/roc/src/check/unify.zig:1396:43: 0x56ad29a in unifyTwoRecords (mod.zig)
try self.unifySharedFields(
^
/home/jg/roc/src/check/unify.zig:976:49: 0x5616ee6 in unifyFlatType (mod.zig)
try self.unifyTwoRecords(
^
/home/jg/roc/src/check/unify.zig:751:39: 0x552de1d in unifyStructure (mod.zig)
try self.unifyFlatType(vars, a_flat_type, b_flat_type);
^
/home/jg/roc/src/check/unify.zig:473:40: 0x5403b86 in unifyVars (mod.zig)
try self.unifyStructure(vars, a_flat_type, vars.b.desc.content);
^
/home/jg/roc/src/check/unify.zig:441:50: 0x5287afc in unifyGuarded (mod.zig)
const result = self.unifyVars(&vars);
^
/home/jg/roc/src/check/unify.zig:2110:38: 0x59743c6 in unifySharedTags (mod.zig)
try self.unifyGuarded(a_arg, b_arg);
^
/home/jg/roc/src/check/unify.zig:1837:41: 0x56aedb6 in unifyTwoTagUnions (mod.zig)
try self.unifySharedTags(
^
/home/jg/roc/src/check/unify.zig:1216:35: 0x56ac0a0 in unifyTagUnionWithNominal (mod.zig)
try self.unifyTwoTagUnions(vars, anon_tag_union, nominal_backing_tag_union);
^
/home/jg/roc/src/check/unify.zig:1044:58: 0x5617a05 in unifyFlatType (mod.zig)
try self.unifyTagUnionWithNominal(vars, b_type, b_backing_var, b_backing_resolved, a_tag_union, .b_is_nominal);
^
/home/jg/roc/src/check/unify.zig:751:39: 0x552de1d in unifyStructure (mod.zig)
try self.unifyFlatType(vars, a_flat_type, b_flat_type);
^
/home/jg/roc/src/check/unify.zig:473:40: 0x5403b86 in unifyVars (mod.zig)
try self.unifyStructure(vars, a_flat_type, vars.b.desc.content);
^
/home/jg/roc/src/check/unify.zig:441:50: 0x5287afc in unifyGuarded (mod.zig)
const result = self.unifyVars(&vars);
^
/home/jg/roc/src/check/unify.zig:1688:34: 0x597130f in unifySharedFields (mod.zig)
try self.unifyGuarded(shared.a.var_, shared.b.var_);
^
/home/jg/roc/src/check/unify.zig:1396:43: 0x56ad29a in unifyTwoRecords (mod.zig)
try self.unifySharedFields(
^
/home/jg/roc/src/check/unify.zig:976:49: 0x5616ee6 in unifyFlatType (mod.zig)
try self.unifyTwoRecords(
^
/home/jg/roc/src/check/unify.zig:751:39: 0x552de1d in unifyStructure (mod.zig)
try self.unifyFlatType(vars, a_flat_type, b_flat_type);
^
/home/jg/roc/src/check/unify.zig:473:40: 0x5403b86 in unifyVars (mod.zig)
try self.unifyStructure(vars, a_flat_type, vars.b.desc.content);
^
/home/jg/roc/src/check/unify.zig:441:50: 0x5287afc in unifyGuarded (mod.zig)
const result = self.unifyVars(&vars);
^
/home/jg/roc/src/check/unify.zig:2110:38: 0x59743c6 in unifySharedTags (mod.zig)
try self.unifyGuarded(a_arg, b_arg);
^
/home/jg/roc/src/check/unify.zig:1837:41: 0x56aedb6 in unifyTwoTagUnions (mod.zig)
try self.unifySharedTags(
^
/home/jg/roc/src/check/unify.zig:1216:35: 0x56ac0a0 in unifyTagUnionWithNominal (mod.zig)
try self.unifyTwoTagUnions(vars, anon_tag_union, nominal_backing_tag_union);
^
/home/jg/roc/src/check/unify.zig:1044:58: 0x5617a05 in unifyFlatType (mod.zig)
try self.unifyTagUnionWithNominal(vars, b_type, b_backing_var, b_backing_resolved, a_tag_union, .b_is_nominal);
^
/home/jg/roc/src/check/unify.zig:751:39: 0x552de1d in unifyStructure (mod.zig)
try self.unifyFlatType(vars, a_flat_type, b_flat_type);
^
/home/jg/roc/src/check/unify.zig:473:40: 0x5403b86 in unifyVars (mod.zig)
try self.unifyStructure(vars, a_flat_type, vars.b.desc.content);
^
/home/jg/roc/src/check/unify.zig:441:50: 0x5287afc in unifyGuarded (mod.zig)
const result = self.unifyVars(&vars);
^
/home/jg/roc/src/check/unify.zig:1688:34: 0x597130f in unifySharedFields (mod.zig)
try self.unifyGuarded(shared.a.var_, shared.b.var_);
^
/home/jg/roc/src/check/unify.zig:1396:43: 0x56ad29a in unifyTwoRecords (mod.zig)
try self.unifySharedFields(
^
/home/jg/roc/src/check/unify.zig:976:49: 0x5616ee6 in unifyFlatType (mod.zig)
try self.unifyTwoRecords(
^
/home/jg/roc/src/check/unify.zig:751:39: 0x552de1d in unifyStructure (mod.zig)
try self.unifyFlatType(vars, a_flat_type, b_flat_type);
^
/home/jg/roc/src/check/unify.zig:473:40: 0x5403b86 in unifyVars (mod.zig)
try self.unifyStructure(vars, a_flat_type, vars.b.desc.content);
^
/home/jg/roc/src/check/unify.zig:441:50: 0x5287afc in unifyGuarded (mod.zig)
const result = self.unifyVars(&vars);
^
/home/jg/roc/src/check/unify.zig:2110:38: 0x59743c6 in unifySharedTags (mod.zig)
try self.unifyGuarded(a_arg, b_arg);
^
/home/jg/roc/src/check/unify.zig:1837:41: 0x56aedb6 in unifyTwoTagUnions (mod.zig)
try self.unifySharedTags(
^
/home/jg/roc/src/check/unify.zig:1216:35: 0x56ac0a0 in unifyTagUnionWithNominal (mod.zig)
try self.unifyTwoTagUnions(vars, anon_tag_union, nominal_backing_tag_union);
^
/home/jg/roc/src/check/unify.zig:1044:58: 0x5617a05 in unifyFlatType (mod.zig)
try self.unifyTagUnionWithNominal(vars, b_type, b_backing_var, b_backing_resolved, a_tag_union, .b_is_nominal);
^
/home/jg/roc/src/check/unify.zig:751:39: 0x552de1d in unifyStructure (mod.zig)
try self.unifyFlatType(vars, a_flat_type, b_flat_type);
^
/home/jg/roc/src/check/unify.zig:473:40: 0x5403b86 in unifyVars (mod.zig)
try self.unifyStructure(vars, a_flat_type, vars.b.desc.content);
^
/home/jg/roc/src/check/unify.zig:441:50: 0x5287afc in unifyGuarded (mod.zig)
const result = self.unifyVars(&vars);
^
/home/jg/roc/src/check/unify.zig:1688:34: 0x597130f in unifySharedFields (mod.zig)
try self.unifyGuarded(shared.a.var_, shared.b.var_);
^
/home/jg/roc/src/check/unify.zig:1396:43: 0x56ad29a in unifyTwoRecords (mod.zig)
try self.unifySharedFields(
^
/home/jg/roc/src/check/unify.zig:976:49: 0x5616ee6 in unifyFlatType (mod.zig)
try self.unifyTwoRecords(
^
/home/jg/roc/src/check/unify.zig:751:39: 0x552de1d in unifyStructure (mod.zig)
try self.unifyFlatType(vars, a_flat_type, b_flat_type);
^
/home/jg/roc/src/check/unify.zig:473:40: 0x5403b86 in unifyVars (mod.zig)
try self.unifyStructure(vars, a_flat_type, vars.b.desc.content);
^
/home/jg/roc/src/check/unify.zig:441:50: 0x5287afc in unifyGuarded (mod.zig)
const result = self.unifyVars(&vars);
^
/home/jg/roc/src/check/unify.zig:2110:38: 0x59743c6 in unifySharedTags (mod.zig)
try self.unifyGuarded(a_arg, b_arg);
^
/home/jg/roc/src/check/unify.zig:1837:41: 0x56aedb6 in unifyTwoTagUnions (mod.zig)
try self.unifySharedTags(
^
/home/jg/roc/src/check/unify.zig:1216:35: 0x56ac0a0 in unifyTagUnionWithNominal (mod.zig)
try self.unifyTwoTagUnions(vars, anon_tag_union, nominal_backing_tag_union);
^
/home/jg/roc/src/check/unify.zig:1044:58: 0x5617a05 in unifyFlatType (mod.zig)
try self.unifyTagUnionWithNominal(vars, b_type, b_backing_var, b_backing_resolved, a_tag_union, .b_is_nominal);
^
/home/jg/roc/src/check/unify.zig:751:39: 0x552de1d in unifyStructure (mod.zig)
try self.unifyFlatType(vars, a_flat_type, b_flat_type);
^
/home/jg/roc/src/check/unify.zig:473:40: 0x5403b86 in unifyVars (mod.zig)
try self.unifyStructure(vars, a_flat_type, vars.b.desc.content);
^
/home/jg/roc/src/check/unify.zig:441:50: 0x5287afc in unifyGuarded (mod.zig)
const result = self.unifyVars(&vars);
^
/home/jg/roc/src/check/unify.zig:1688:34: 0x597130f in unifySharedFields (mod.zig)
try self.unifyGuarded(shared.a.var_, shared.b.var_);
^
/home/jg/roc/src/check/unify.zig:1396:43: 0x56ad29a in unifyTwoRecords (mod.zig)
try self.unifySharedFields(
^
/home/jg/roc/src/check/unify.zig:976:49: 0x5616ee6 in unifyFlatType (mod.zig)
try self.unifyTwoRecords(
^
/home/jg/roc/src/check/unify.zig:751:39: 0x552de1d in unifyStructure (mod.zig)
try self.unifyFlatType(vars, a_flat_type, b_flat_type);
^
/home/jg/roc/src/check/unify.zig:473:40: 0x5403b86 in unifyVars (mod.zig)
try self.unifyStructure(vars, a_flat_type, vars.b.desc.content);
^
/home/jg/roc/src/check/unify.zig:441:50: 0x5287afc in unifyGuarded (mod.zig)
const result = self.unifyVars(&vars);
^
/home/jg/roc/src/check/unify.zig:2110:38: 0x59743c6 in unifySharedTags (mod.zig)
try self.unifyGuarded(a_arg, b_arg);
^
/home/jg/roc/src/check/unify.zig:1837:41: 0x56aedb6 in unifyTwoTagUnions (mod.zig)
try self.unifySharedTags(
^
/home/jg/roc/src/check/unify.zig:1216:35: 0x56ac0a0 in unifyTagUnionWithNominal (mod.zig)
try self.unifyTwoTagUnions(vars, anon_tag_union, nominal_backing_tag_union);
^
/home/jg/roc/src/check/unify.zig:1044:58: 0x5617a05 in unifyFlatType (mod.zig)
try self.unifyTagUnionWithNominal(vars, b_type, b_backing_var, b_backing_resolved, a_tag_union, .b_is_nominal);
^
/home/jg/roc/src/check/unify.zig:751:39: 0x552de1d in unifyStructure (mod.zig)
try self.unifyFlatType(vars, a_flat_type, b_flat_type);
^
/home/jg/roc/src/check/unify.zig:473:40: 0x5403b86 in unifyVars (mod.zig)
try self.unifyStructure(vars, a_flat_type, vars.b.desc.content);
^
/home/jg/roc/src/check/unify.zig:441:50: 0x5287afc in unifyGuarded (mod.zig)
const result = self.unifyVars(&vars);
^
/home/jg/roc/src/check/unify.zig:1688:34: 0x597130f in unifySharedFields (mod.zig)
try self.unifyGuarded(shared.a.var_, shared.b.var_);
^
/home/jg/roc/src/check/unify.zig:1396:43: 0x56ad29a in unifyTwoRecords (mod.zig)
try self.unifySharedFields(
^
/home/jg/roc/src/check/unify.zig:976:49: 0x5616ee6 in unifyFlatType (mod.zig)
try self.unifyTwoRecords(
^
/home/jg/roc/src/check/unify.zig:751:39: 0x552de1d in unifyStructure (mod.zig)
try self.unifyFlatType(vars, a_flat_type, b_flat_type);
^
/home/jg/roc/src/check/unify.zig:473:40: 0x5403b86 in unifyVars (mod.zig)
try self.unifyStructure(vars, a_flat_type, vars.b.desc.content);
^
/home/jg/roc/src/check/unify.zig:441:50: 0x5287afc in unifyGuarded (mod.zig)
const result = self.unifyVars(&vars);
^
/home/jg/roc/src/check/unify.zig:2110:38: 0x59743c6 in unifySharedTags (mod.zig)
try self.unifyGuarded(a_arg, b_arg);
^
/home/jg/roc/src/check/unify.zig:1837:41: 0x56aedb6 in unifyTwoTagUnions (mod.zig)
try self.unifySharedTags(
^
/home/jg/roc/src/check/unify.zig:1216:35: 0x56ac0a0 in unifyTagUnionWithNominal (mod.zig)
try self.unifyTwoTagUnions(vars, anon_tag_union, nominal_backing_tag_union);
^
/home/jg/roc/src/check/unify.zig:1044:58: 0x5617a05 in unifyFlatType (mod.zig)
try self.unifyTagUnionWithNominal(vars, b_type, b_backing_var, b_backing_resolved, a_tag_union, .b_is_nominal);
^
/home/jg/roc/src/check/unify.zig:751:39: 0x552de1d in unifyStructure (mod.zig)
try self.unifyFlatType(vars, a_flat_type, b_flat_type);
^
/home/jg/roc/src/check/unify.zig:473:40: 0x5403b86 in unifyVars (mod.zig)
try self.unifyStructure(vars, a_flat_type, vars.b.desc.content);
^
/home/jg/roc/src/check/unify.zig:441:50: 0x5287afc in unifyGuarded (mod.zig)
const result = self.unifyVars(&vars);
^
/home/jg/roc/src/check/unify.zig:1688:34: 0x597130f in unifySharedFields (mod.zig)
try self.unifyGuarded(shared.a.var_, shared.b.var_);
^
/home/jg/roc/src/check/unify.zig:1396:43: 0x56ad29a in unifyTwoRecords (mod.zig)
try self.unifySharedFields(
^
/home/jg/roc/src/check/unify.zig:976:49: 0x5616ee6 in unifyFlatType (mod.zig)
try self.unifyTwoRecords(
^
/home/jg/roc/src/check/unify.zig:751:39: 0x552de1d in unifyStructure (mod.zig)
try self.unifyFlatType(vars, a_flat_type, b_flat_type);
^
/home/jg/roc/src/check/unify.zig:473:40: 0x5403b86 in unifyVars (mod.zig)
try self.unifyStructure(vars, a_flat_type, vars.b.desc.content);
^
Metadata
Metadata
Assignees
Labels
No labels