From 909eb011ad4174eb2d5541e03a47fffeff9ef57f Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Tue, 6 Feb 2024 18:56:05 -0600 Subject: [PATCH] added: test case for `#inject` --- tests/bugs/injecting_global_symbol_order | 10 ++++++ tests/bugs/injecting_global_symbol_order.onyx | 31 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 tests/bugs/injecting_global_symbol_order create mode 100644 tests/bugs/injecting_global_symbol_order.onyx diff --git a/tests/bugs/injecting_global_symbol_order b/tests/bugs/injecting_global_symbol_order new file mode 100644 index 00000000..96a9ac6c --- /dev/null +++ b/tests/bugs/injecting_global_symbol_order @@ -0,0 +1,10 @@ +2 +3 +4 +5 +6 +7 +8 +9 +11 +13 diff --git a/tests/bugs/injecting_global_symbol_order.onyx b/tests/bugs/injecting_global_symbol_order.onyx new file mode 100644 index 00000000..d1351865 --- /dev/null +++ b/tests/bugs/injecting_global_symbol_order.onyx @@ -0,0 +1,31 @@ +use core { + array, + iter, + math, + println +} + +isPrime :: (n: i64) => { + max := math.sqrt(n); + + for x: iter.range(cast(u64, 2), max) { + if n % x == 0 { + return false; + } + } + + return true; +} + +prime_generator :: () => iter.counter(2, i64)->filter(isPrime) + +#inject iter { + range :: (min: $T, max: T) => + iter.counter(min, T)->take_while((x, [max]) => x < max) +} + +main :: () { + for prime: prime_generator() |> iter.take(10) { + println(prime); + } +} -- 2.25.1