From 8d60f08f65cfb352db5a81f389dfeffeabcbefc9 Mon Sep 17 00:00:00 2001 From: KtorZ Date: Sat, 31 Aug 2024 00:03:46 +0200 Subject: [PATCH] Add acceptance test 111 Seems like nested tuples are inferred wrongly when type-casted. ``` type mismatch Expected (list a) Got integer ``` --- examples/acceptance_tests/111/aiken.toml | 9 +++++++++ examples/acceptance_tests/111/lib/foo.ak | 16 ++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 examples/acceptance_tests/111/aiken.toml create mode 100644 examples/acceptance_tests/111/lib/foo.ak diff --git a/examples/acceptance_tests/111/aiken.toml b/examples/acceptance_tests/111/aiken.toml new file mode 100644 index 00000000..40ab87df --- /dev/null +++ b/examples/acceptance_tests/111/aiken.toml @@ -0,0 +1,9 @@ +name = "aiken-lang/acceptance_test_111" +version = "0.0.0" +license = "Apache-2.0" +description = "Aiken contracts for project 'aiken-lang/111'" + +[repository] +user = "aiken-lang" +project = "111" +platform = "github" diff --git a/examples/acceptance_tests/111/lib/foo.ak b/examples/acceptance_tests/111/lib/foo.ak new file mode 100644 index 00000000..ae635882 --- /dev/null +++ b/examples/acceptance_tests/111/lib/foo.ak @@ -0,0 +1,16 @@ +type Point = + (ByteArray, Int) + +type NestedTuples { + points: (Point, Point), +} + +test boom() { + let original = NestedTuples { points: (("", 14), ("foo", 42)) } + + let data: Data = original + + expect recovered: NestedTuples = data + + original == recovered +}