From 0a660c6a211a67f2b512cb09eb07f64d5fe43cda Mon Sep 17 00:00:00 2001 From: KtorZ Date: Sun, 5 May 2024 14:27:32 +0200 Subject: [PATCH] Add new acceptance test illustrating need for fn call ordering --- examples/acceptance_tests/100/aiken.lock | 7 +++++++ examples/acceptance_tests/100/aiken.toml | 9 +++++++++ examples/acceptance_tests/100/lib/foo.ak | 14 ++++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 examples/acceptance_tests/100/aiken.lock create mode 100644 examples/acceptance_tests/100/aiken.toml create mode 100644 examples/acceptance_tests/100/lib/foo.ak diff --git a/examples/acceptance_tests/100/aiken.lock b/examples/acceptance_tests/100/aiken.lock new file mode 100644 index 00000000..6e350cda --- /dev/null +++ b/examples/acceptance_tests/100/aiken.lock @@ -0,0 +1,7 @@ +# This file was generated by Aiken +# You typically do not need to edit this file + +requirements = [] +packages = [] + +[etags] diff --git a/examples/acceptance_tests/100/aiken.toml b/examples/acceptance_tests/100/aiken.toml new file mode 100644 index 00000000..3d8a526c --- /dev/null +++ b/examples/acceptance_tests/100/aiken.toml @@ -0,0 +1,9 @@ +name = "aiken-lang/acceptance_test_100" +version = "0.0.0" +license = "Apache-2.0" +description = "Aiken contracts for project 'aiken-lang/100'" + +[repository] +user = "aiken-lang" +project = "100" +platform = "github" diff --git a/examples/acceptance_tests/100/lib/foo.ak b/examples/acceptance_tests/100/lib/foo.ak new file mode 100644 index 00000000..44889694 --- /dev/null +++ b/examples/acceptance_tests/100/lib/foo.ak @@ -0,0 +1,14 @@ +pub fn list(fuzzer: Option) -> Option> { + inner(fuzzer, []) +} + +fn inner(fuzzer, xs) -> Option> { + when fuzzer is { + None -> Some(xs) + Some(x) -> Some([x, ..xs]) + } +} + +test foo() { + list(None) == Some([]) +}