Overkill the tuple ordering bug

This commit is contained in:
John David Pressman 2019-12-03 11:10:53 -08:00
parent 085a756ed3
commit 6a4d58d467
2 changed files with 40 additions and 1 deletions

View File

@ -11,4 +11,28 @@ let main_paren (p: unit) : int = x + y
let foobar : (int * int) = (23 , 42)
let (foo : int) , (bar : int) = foobar
let non_tuple_rhs (p: unit) : int = bar - foo
(* Here to prevent a regression of https://gitlab.com/ligolang/ligo/issues/63#note_254106580 *)
let correct_values_bound (p: unit) : int * int =
foo, bar
let non_tuple_rhs (p: unit) : int =
bar - foo
(* Here to prevent a regression of https://gitlab.com/ligolang/ligo/issues/63#note_254106580 *)
let big_tuple : (int * int * int * int * int) = (10, 20, 30, 40, 50)
let (a: int), (b: int), (c: int), (d: int), (e: int) = big_tuple
let correct_values_big_tuple (p: unit) : int * int * int * int * int =
a, b, c, d, e
(* Here to prevent a regression of https://gitlab.com/ligolang/ligo/issues/63#note_254106580 *)
let different_types: (int * string) = 10, "hello"
let (greet_num: int), (greeting: string) = different_types
let correct_values_different_types (p: unit) : int * string =
greet_num, greeting

View File

@ -1213,11 +1213,26 @@ let mligo_let_multiple () : unit result =
let expected = e_int 6 in
expect_eq program "main_paren" input expected
in
let%bind () =
let input = e_unit () in
let expected = e_tuple [e_int 23 ; e_int 42] in
expect_eq program "correct_values_bound" input expected
in
let%bind () =
let input = e_unit () in
let expected = e_int 19 in
expect_eq program "non_tuple_rhs" input expected
in
let%bind () =
let input = e_unit () in
let expected = e_tuple [e_int 10; e_int 20; e_int 30; e_int 40; e_int 50] in
expect_eq program "correct_values_big_tuple" input expected
in
let%bind () =
let input = e_unit () in
let expected = e_tuple [e_int 10 ; e_string "hello"] in
expect_eq program "correct_values_different_types" input expected
in
ok ()
let balance_constant () : unit result =