From 351258444abab6883895685132844f9efd719fa5 Mon Sep 17 00:00:00 2001 From: Ava Affine Date: Thu, 17 Jul 2025 14:52:47 -0700 Subject: [PATCH 1/2] add forgejo CI Signed-off-by: Ava Affine --- .forgejo/workflows/test.yml | 80 +++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 .forgejo/workflows/test.yml diff --git a/.forgejo/workflows/test.yml b/.forgejo/workflows/test.yml new file mode 100644 index 0000000..d217d9f --- /dev/null +++ b/.forgejo/workflows/test.yml @@ -0,0 +1,80 @@ +name: "per-push tests" + +on: + push: + branches: + - main + pull_request: + pull_request_target: + types: + - opened + - synchronized + - reopened + +jobs: + build: + runs-on: docker + steps: + - name: checkout code + uses: actions/checkout@v4 + - name: setup rust toolchain + uses: msrd0/rust-toolchain@nightly + - name: compile components + run: | + cargo build --lib + cargo build --bin decomposer + + test-frontend: + needs: [build] + runs-on: docker + steps: + - name: checkout code + uses: actions/checkout@v4 + - name: setup rust toolchain + uses: dtolnay/rust-toolchain@nightly + - name: test lexer + run: cargo test lexer + - name: test parser + run: cargo test parser + + timed-decomposer-parse: + needs: [test-frontend] + runs-on: docker + steps: + - name: checkout code + uses: actions/checkout@v4 + - name: setup rust toolchain + uses: msrd0/rust-toolchain@nightly + - name: build decomposer + run: cargo build --bin decomposer + - name: download test scheme source + run: curl https://raw.githubusercontent.com/ecraven/r7rs-benchmarks/refs/heads/master/src/compiler.scm --output test.scm + - name: time parsing of test source + run: cargo run --bin decomposer -- -t test.scm + + test-utility: + needs: [build] + runs-on: docker + steps: + - name: checkout code + uses: actions/checkout@v4 + - name: setup rust toolchain + uses: msrd0/rust-toolchain@nightly + - name: test number package + run: cargo test number + - name: test double stack data type + run: cargo test stackstack + - name: test hashmap data type + run: cargo test hmap + + test-backend: + needs: [build] + runs-on: docker + steps: + - name: checkout code + uses: actions/checkout@v4 + - name: setup rust toolchain + uses: msrd0/rust-toolchain@nightly + - name: test instruction decoding + run: cargo test util # this is instruction decoding code + From 16aa08d1e61999855b978696b2acc97f0ff9221c Mon Sep 17 00:00:00 2001 From: Ava Affine Date: Thu, 17 Jul 2025 15:49:50 -0700 Subject: [PATCH 2/2] normalize edition to 2024 Signed-off-by: Ava Affine --- decomposer/Cargo.toml | 2 +- mycelium/Cargo.toml | 2 +- mycelium/src/lexer.rs | 4 ++-- mycelium/src/lib.rs | 1 - 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/decomposer/Cargo.toml b/decomposer/Cargo.toml index 60b0f8e..071e041 100644 --- a/decomposer/Cargo.toml +++ b/decomposer/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "decomposer" version = "0.1.0" -edition = "2021" +edition = "2024" authors = ["Ava Affine "] [dependencies] diff --git a/mycelium/Cargo.toml b/mycelium/Cargo.toml index 7bc4e79..9370cd3 100644 --- a/mycelium/Cargo.toml +++ b/mycelium/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "mycelium" version = "0.1.0" -edition = "2021" +edition = "2024" [dependencies] num = { version = "0.4.3", features = ["alloc"] } diff --git a/mycelium/src/lexer.rs b/mycelium/src/lexer.rs index 431054c..c6266d3 100644 --- a/mycelium/src/lexer.rs +++ b/mycelium/src/lexer.rs @@ -187,7 +187,7 @@ impl Iterator for Lexer { } let res = self.seek_next_token(); - if let Err(ref e) = res { + if let Err(e) = &res { self.has_error_state = Some(e.clone()); } @@ -617,7 +617,7 @@ impl Lexer { } if let Some(ref res) = output { - if let Err(ref e) = res { + if let Err(e) = &res { self.has_error_state = Some(e.clone()); } } diff --git a/mycelium/src/lib.rs b/mycelium/src/lib.rs index b68beca..e6896e7 100644 --- a/mycelium/src/lib.rs +++ b/mycelium/src/lib.rs @@ -16,7 +16,6 @@ */ #![cfg_attr(not(test), no_std)] -#![feature(let_chains)] #![feature(iter_collect_into)] #![feature(if_let_guard)] #![feature(core_float_math)]