mirror of
https://github.com/roc-lang/roc.git
synced 2024-09-22 00:09:33 +03:00
Fix doulbe Attr wrapping in List.getUnsafe
This commit is contained in:
parent
9eb52ee1d8
commit
6fa2a56a5c
@ -451,10 +451,7 @@ pub fn types() -> MutMap<Symbol, (SolvedType, Region)> {
|
||||
|
||||
add_type(
|
||||
Symbol::LIST_GET_UNSAFE,
|
||||
unique_function(
|
||||
vec![list_type(UVAR1, TVAR1), int_type(UVAR2)],
|
||||
attr_type(UVAR3, TVAR1),
|
||||
),
|
||||
unique_function(vec![list_type(UVAR1, TVAR1), int_type(UVAR2)], flex(TVAR1)),
|
||||
);
|
||||
|
||||
// set : Attr (w | u | v) (List (Attr u a))
|
||||
|
@ -2087,4 +2087,16 @@ mod test_infer_uniq {
|
||||
"Attr * (Attr * (List (Attr (a | b) c)) -> Attr (* | a | b) (List (Attr a c)))",
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn set_then_get() {
|
||||
infer_eq(
|
||||
indoc!(
|
||||
r#"
|
||||
List.getUnsafe (List.set [ 12, 9, 7, 3 ] 1 42) 1
|
||||
"#
|
||||
),
|
||||
"Attr * Int",
|
||||
);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user