mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-30 23:31:12 +00:00
preparation for recursive tag unions
This commit is contained in:
parent
9d1e2a0ef1
commit
c31116af87
2 changed files with 79 additions and 1 deletions
|
@ -1311,6 +1311,84 @@ mod test_gen {
|
|||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn maybe_is_just() {
|
||||
assert_evals_to!(
|
||||
indoc!(
|
||||
r#"
|
||||
Maybe a : [ Just a, Nothing ]
|
||||
|
||||
isJust : Maybe a -> Bool
|
||||
isJust = \list ->
|
||||
when list is
|
||||
Nothing -> False
|
||||
Just _ -> True
|
||||
|
||||
isJust (Just 42)
|
||||
"#
|
||||
),
|
||||
true,
|
||||
bool
|
||||
);
|
||||
}
|
||||
|
||||
// #[test]
|
||||
// fn linked_list_empty() {
|
||||
// assert_evals_to!(
|
||||
// indoc!(
|
||||
// r#"
|
||||
// LinkedList a : [ Cons a (LinkedList a), Nil ]
|
||||
//
|
||||
// empty : LinkedList Int
|
||||
// empty = Nil
|
||||
//
|
||||
// 1
|
||||
// "#
|
||||
// ),
|
||||
// 1,
|
||||
// i64
|
||||
// );
|
||||
// }
|
||||
//
|
||||
// #[test]
|
||||
// fn linked_list_singleton() {
|
||||
// assert_evals_to!(
|
||||
// indoc!(
|
||||
// r#"
|
||||
// LinkedList a : [ Cons a (LinkedList a), Nil ]
|
||||
//
|
||||
// singleton : LinkedList Int
|
||||
// singleton = Cons 0x1 Nil
|
||||
//
|
||||
// 1
|
||||
// "#
|
||||
// ),
|
||||
// 1,
|
||||
// i64
|
||||
// );
|
||||
// }
|
||||
//
|
||||
// #[test]
|
||||
// fn linked_list_is_empty() {
|
||||
// assert_evals_to!(
|
||||
// indoc!(
|
||||
// r#"
|
||||
// LinkedList a : [ Cons a (LinkedList a), Nil ]
|
||||
//
|
||||
// isEmpty : LinkedList a -> Bool
|
||||
// isEmpty = \list ->
|
||||
// when list is
|
||||
// Nil -> True
|
||||
// Cons _ _ -> False
|
||||
//
|
||||
// isEmpty (Cons 4 Nil)
|
||||
// "#
|
||||
// ),
|
||||
// false,
|
||||
// bool
|
||||
// );
|
||||
// }
|
||||
|
||||
#[test]
|
||||
fn empty_record() {
|
||||
assert_evals_to!(
|
||||
|
|
|
@ -715,7 +715,7 @@ fn from_can<'a>(
|
|||
variant_var,
|
||||
&mut tags,
|
||||
) {
|
||||
Ok(()) => {
|
||||
Ok(()) | Err((_, Content::FlexVar(_))) => {
|
||||
tags.sort();
|
||||
}
|
||||
other => panic!("invalid value in ext_var {:?}", other),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue