From 0befa7c9a026b6dd19446e569f41fe20f8494f05 Mon Sep 17 00:00:00 2001 From: Franco Giachetta Date: Mon, 20 Jan 2025 08:17:31 +0000 Subject: [PATCH 1/6] Upload daily comparison results as an artifact (#1049) * upload comparison results in daily workflow as an artifact * typo --------- Co-authored-by: Edgar --- .github/ISSUE_TEMPLATE/daily_failure.md | 4 +--- .github/workflows/daily.yml | 15 ++++++++------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/daily_failure.md b/.github/ISSUE_TEMPLATE/daily_failure.md index e607cfc4a..42c231b17 100644 --- a/.github/ISSUE_TEMPLATE/daily_failure.md +++ b/.github/ISSUE_TEMPLATE/daily_failure.md @@ -12,6 +12,4 @@ Comparing VM execution against Native produced diffs: The transaction were not compared in order. You should rerun the whole failing block to find the error root -``` -{{ env.OUTPUT }} -``` +- State Diffs Comparison: {{ env.COMPARISON_RESULT }} diff --git a/.github/workflows/daily.yml b/.github/workflows/daily.yml index 8adac740f..f3ffcbad3 100644 --- a/.github/workflows/daily.yml +++ b/.github/workflows/daily.yml @@ -191,19 +191,20 @@ jobs: run: | ./scripts/cmp_state_dumps.sh | tee output + - name: Upload Compare Results + uses: actions/upload-artifact@v4 + if: ${{ always() }} + with: + name: output-result + path: output + - name: Prepare env vars if: ${{ always() }} run: | # Save workflow url REPO_URL="${{ github.server_url }}/${{ github.repository }}" echo "WORKFLOW_URL=$REPO_URL/actions/runs/${{ github.run_id }}" | tee -a $GITHUB_ENV - - # Save output - { - echo 'OUTPUT<> "$GITHUB_ENV" + echo "COMPARISON_RESULT=$REPO_URL/actions/runs/${{ github.run_id }}/artifacts/${{ steps.upload_compare_results.outputs.artifact-id }}" | tee -a $GITHUB_ENV - name: Create Issue if: ${{ failure() }} From e9151aa8420a138f70febb721f8979d3dd2f7223 Mon Sep 17 00:00:00 2001 From: Edgar Date: Mon, 20 Jan 2025 16:08:49 +0100 Subject: [PATCH 2/6] Update cairo to 2.10.0-rc1 (#1059) * Update cairo to 2.10.0-rc1 * update ci blocks * upd emu * fix alexandria * upd refs * deps * downgrade scarb * ci * fix test --- .github/workflows/starknet-blocks.yml | 4 +- Cargo.lock | 116 +++++++++++++------------- Cargo.toml | 28 +++---- Makefile | 2 +- runtime/Cargo.toml | 2 +- src/debug.rs | 3 +- src/libfuncs/bounded_int.rs | 10 +-- src/libfuncs/const.rs | 18 ++++ tests/alexandria/Scarb.toml | 1 - 9 files changed, 101 insertions(+), 83 deletions(-) diff --git a/.github/workflows/starknet-blocks.yml b/.github/workflows/starknet-blocks.yml index d43ebc449..286635ac7 100644 --- a/.github/workflows/starknet-blocks.yml +++ b/.github/workflows/starknet-blocks.yml @@ -32,7 +32,7 @@ jobs: with: repository: lambdaclass/starknet-replay path: starknet-replay - ref: 6738a2ba8786118d38eb94b209949bcb8285cce0 + ref: 546457d800fd02f080888331aebecc15824bed91 # We need native to build the runtime - name: Checkout Native uses: actions/checkout@v4 @@ -43,7 +43,7 @@ jobs: with: repository: lambdaclass/sequencer path: sequencer - ref: ee977cc338f63f7bc34c01c21363b3a318bcac65 + ref: 15d6452d162ad5e3538e673d1e4df5abcff9452f - name: Cache RPC Calls uses: actions/cache@v4 diff --git a/Cargo.lock b/Cargo.lock index 870967616..f84dd692c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -602,9 +602,9 @@ dependencies = [ [[package]] name = "cairo-lang-casm" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31a9a437bd4015a0f888d0de9876fd4786eb24b4e17b25c86c53980865980f9d" +checksum = "151375fd72f8765eb3ca78b4aa8f71269179169d4a8d3d03f4d8a80ff062d1e5" dependencies = [ "cairo-lang-utils", "indoc", @@ -616,9 +616,9 @@ dependencies = [ [[package]] name = "cairo-lang-compiler" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4608693f366e8e86061c824adaca33b56bf0bd7e1cd5edc8592be7a380950322" +checksum = "b013e303a3b2c67599cbb020d1ae3b96ceef19ed522625b32a1f4f8904bdc2d0" dependencies = [ "anyhow", "cairo-lang-defs", @@ -642,18 +642,18 @@ dependencies = [ [[package]] name = "cairo-lang-debug" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4217fd373449a74efde259f8a4df501a7664f6f9c73b547c3aff632ad14feabf" +checksum = "33e397d9e5f085d04f9251c3e8c6bba2c0aeb39cb41de532977f08bc8dd0dffa" dependencies = [ "cairo-lang-utils", ] [[package]] name = "cairo-lang-defs" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dadf2d1002c9851ea17d37b83a26bbe6f0f53d5f94ba2e477a7a6e9d498f805b" +checksum = "e293692f3db2fdc2ab72ced7c1a31de9c7ba6f7202dfa67c4596a42fca5255e5" dependencies = [ "cairo-lang-debug", "cairo-lang-diagnostics", @@ -668,9 +668,9 @@ dependencies = [ [[package]] name = "cairo-lang-diagnostics" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c4ac1831e7c14e5308a66254bcc57a8d4790f18567ef8d4d6768b39ffb955a0" +checksum = "af2fad7dcf507f01810038b3879310514e238c92c9e86cf66ed898e53dadc273" dependencies = [ "cairo-lang-debug", "cairo-lang-filesystem", @@ -680,9 +680,9 @@ dependencies = [ [[package]] name = "cairo-lang-eq-solver" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33c5f879bca42caef7e06f1de022d6961d36c5567db600faed8a947e2b705eaa" +checksum = "62bbbd955110dc35770c77f5f4e420ea963a175a70199c8d95777b1e53da40a8" dependencies = [ "cairo-lang-utils", "good_lp", @@ -690,9 +690,9 @@ dependencies = [ [[package]] name = "cairo-lang-filesystem" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c632b6d3ee5f1684f757f86e04ba9cf1daa8e4e74c6a5d6c0b7773cc4465a6c6" +checksum = "ff86b7145e376eb7787da47d214583482944f8b40335947804466211e1b5f3a0" dependencies = [ "cairo-lang-debug", "cairo-lang-utils", @@ -706,9 +706,9 @@ dependencies = [ [[package]] name = "cairo-lang-formatter" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8295a3ddc62d8d92d942292f103de0434d622f47e936a3aea25eccc3eed88c58" +checksum = "b1b8abd7b170b48b9eadb758b4fdab7e9f03bad8b2cbe23ad8b6e38232311da0" dependencies = [ "anyhow", "cairo-lang-diagnostics", @@ -726,9 +726,9 @@ dependencies = [ [[package]] name = "cairo-lang-lowering" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2a93c2644c64cfdbbe64b1bd6e13d9c6ed511950cfae2e738d228bc89dc5605" +checksum = "d907f52244a34208ee2e5232602aa213ae190c8c015a9ab0e378b695ca9cc1b0" dependencies = [ "cairo-lang-debug", "cairo-lang-defs", @@ -751,9 +751,9 @@ dependencies = [ [[package]] name = "cairo-lang-parser" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d884d9418895fef5b8ffd7458211523ab5abf4357845938b354adfbae1089fe2" +checksum = "ad5c844ec8e284ed1e423d40bd5d4baf98d6415986c3d4065d2c1ff8a09b5934" dependencies = [ "cairo-lang-diagnostics", "cairo-lang-filesystem", @@ -771,9 +771,9 @@ dependencies = [ [[package]] name = "cairo-lang-plugins" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b224afdc76d9890edf9009fa8ffff9a91ac15614a41049d48c77c192e8c966e3" +checksum = "478c84c57c6291f1e072fedd12eb0458eb40a3ea16a17d02e8ccf895924b9ea1" dependencies = [ "cairo-lang-defs", "cairo-lang-diagnostics", @@ -796,9 +796,9 @@ checksum = "123ac0ecadf31bacae77436d72b88fa9caef2b8e92c89ce63a125ae911a12fae" [[package]] name = "cairo-lang-proc-macros" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ae35a282e5f2d15f47ba6fffae5a32e8aa2f254366865339cf326e2e015b8f8" +checksum = "5d7afa5c9bb8be0c3654792caec70ca51587667665e667c2250b4fa79df901d3" dependencies = [ "cairo-lang-debug", "quote", @@ -807,9 +807,9 @@ dependencies = [ [[package]] name = "cairo-lang-project" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4da40ba380208db0b861d8b1e6e558adaa98dd0b382177b25bdb1abf8fd8d766" +checksum = "0e557bbf5fc153203622f4fd66d8de23c35c39fe92672ba90c0a3b33766f016f" dependencies = [ "cairo-lang-filesystem", "cairo-lang-utils", @@ -820,9 +820,9 @@ dependencies = [ [[package]] name = "cairo-lang-runnable-utils" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "951b72522c8a76e177119699bdcd3c4288bdc0bc784ac22dd7c0f80b2a7444d0" +checksum = "5cb5aea4258a0fcc52a8ac3848c4916a81f2601ebebdd462b4a7c6123cc20589" dependencies = [ "cairo-lang-casm", "cairo-lang-sierra", @@ -838,9 +838,9 @@ dependencies = [ [[package]] name = "cairo-lang-runner" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35b1d5b0e9103bea4e39ac1099ad47893a25f334c3ca2596d07b1a8920be22cb" +checksum = "c3b0e437bbaa58d41c1215451ef50aa914a49780a0af886e55862576aff6c19f" dependencies = [ "ark-ff 0.4.2", "ark-secp256k1 0.4.0", @@ -868,9 +868,9 @@ dependencies = [ [[package]] name = "cairo-lang-semantic" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "babdf14729236dfb455519d35e7e399ba73f0eaa4f1e929474d4c37dc9ef7a29" +checksum = "2c82e765f784f4175232f51be0bd81551c48fcf64d8e9ae2e88f15c7130ca549" dependencies = [ "cairo-lang-debug", "cairo-lang-defs", @@ -895,9 +895,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74c0e4951ecd88023856e0faa9fd444647d9f1ec69ca09dfa8e3aebf9d2afdef" +checksum = "0eda99022545ec4ec1b255f05c40d498d7040e3c60ecc942009368462448686b" dependencies = [ "anyhow", "cairo-lang-utils", @@ -922,9 +922,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-ap-change" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea9c51356e603fa38fcbd4524d19e391ac25e89e64889c3a4ef849de3d1e911" +checksum = "f13db868ea56fc7c109a21260355ef5380e8d4426ce9781a00cc7d2d18a0aada" dependencies = [ "cairo-lang-eq-solver", "cairo-lang-sierra", @@ -938,9 +938,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-gas" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1af17244a222fd2398caaf09e909f0b584abe14c77e1b5dc8f479ef35d1e8d50" +checksum = "d4e26fbde40815352ff18f2e341a9792c651be0597bfb8e63deb0f4dd484782d" dependencies = [ "cairo-lang-eq-solver", "cairo-lang-sierra", @@ -954,9 +954,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-generator" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2368d57175b18976222f844e4dda52d0025d70ce8b2dda35e0cc96efaa9bb4a5" +checksum = "4e2a09730000a75c143d940e0e4906cf35dd0b607b0902223dc73ff5786abb7b" dependencies = [ "cairo-lang-debug", "cairo-lang-defs", @@ -978,9 +978,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-to-casm" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "866e6cbba9e81bae1c2f6b8f8e718f702fee69980c3f22bdea1e4657f09a540c" +checksum = "07b3af3dee351045e063fea341f242c6eab9c0f5eca90ee8b960ddcefa799142" dependencies = [ "assert_matches", "cairo-lang-casm", @@ -999,9 +999,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-type-size" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8e797aa2f4023e984d13c5adf7068688da665328da6b055842f50fb673fb48b" +checksum = "5ed52ed8acd957e71139e3dde782aad04946bd1e4d979a2a0b46bd09dd200348" dependencies = [ "cairo-lang-sierra", "cairo-lang-utils", @@ -1009,9 +1009,9 @@ dependencies = [ [[package]] name = "cairo-lang-starknet" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85c16967be9b0befaa0e21f65c9c803f8354d0db09de7adf28cdf0dc54b2c90d" +checksum = "9d156a22ebdca8041506c0ae2be765a7bc81907003e588ee643f7e64c7788fbf" dependencies = [ "anyhow", "cairo-lang-compiler", @@ -1039,9 +1039,9 @@ dependencies = [ [[package]] name = "cairo-lang-starknet-classes" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0f7b0c28430c9ad477c38dba089ac5a148443bbeaa77cc3f14980de255a220e" +checksum = "a5a5b4adb80238064a7294c43d8edcc18d908c0872848063682b5c0a458a77af" dependencies = [ "cairo-lang-casm", "cairo-lang-sierra", @@ -1062,9 +1062,9 @@ dependencies = [ [[package]] name = "cairo-lang-syntax" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5adf933d378225e031200bd41c82e09cb0fde1042f5fe3f3c82d1ccd559a6f2" +checksum = "621c6dbf1cbda7d40f4dc78ea2363d3b565e4c7e9edfdcb08e2be61bfbbaf819" dependencies = [ "cairo-lang-debug", "cairo-lang-filesystem", @@ -1079,9 +1079,9 @@ dependencies = [ [[package]] name = "cairo-lang-syntax-codegen" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b34c81e723cf05fc0655aa8527f5a2730e30b31368b1b887c3eeb50a00c81c4" +checksum = "cd79262096fbbd618c52d01964f5ed36e693f9dc1113a0d217e1b3825bd85822" dependencies = [ "genco", "xshell", @@ -1089,9 +1089,9 @@ dependencies = [ [[package]] name = "cairo-lang-test-plugin" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a9c6f1976c28de3e502589f53b97bdc5f8566724d20ff68de83d8f382f5fc99" +checksum = "bbe07acbac1f6f31e0b422833174e0a5220370542b47d9ceb6f4e4c7e33ffe61" dependencies = [ "anyhow", "cairo-lang-compiler", @@ -1116,9 +1116,9 @@ dependencies = [ [[package]] name = "cairo-lang-test-utils" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa7c6930beb6f221c1bc274460fca091e93c377570994b612682da30795ed74e" +checksum = "3d7df411c00d122de3941dc8cb78d216e2414b2bbb713c006613b98113c35861" dependencies = [ "cairo-lang-formatter", "cairo-lang-utils", @@ -1129,9 +1129,9 @@ dependencies = [ [[package]] name = "cairo-lang-utils" -version = "2.10.0-rc.0" +version = "2.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91b6546d9f285c7d4a2700c084f745c35e1884a1dc2e4fa54a71034cea5606aa" +checksum = "33d72369877bade85ecfef9bc13cbd0c66fdaa3e8cd9686833f0db65eacaa833" dependencies = [ "hashbrown 0.14.5", "indexmap 2.7.0", diff --git a/Cargo.toml b/Cargo.toml index 11cf22743..169c65f20 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -58,13 +58,13 @@ normal = ["aquamarine"] [dependencies] aquamarine = "0.6.0" bumpalo = "3.16.0" -cairo-lang-compiler = "=2.10.0-rc.0" -cairo-lang-defs = "=2.10.0-rc.0" -cairo-lang-filesystem = "=2.10.0-rc.0" -cairo-lang-runner = "=2.10.0-rc.0" -cairo-lang-semantic = "=2.10.0-rc.0" -cairo-lang-sierra = "=2.10.0-rc.0" -cairo-lang-sierra-generator = "=2.10.0-rc.0" +cairo-lang-compiler = "2.10.0-rc.1" +cairo-lang-defs = "2.10.0-rc.1" +cairo-lang-filesystem = "2.10.0-rc.1" +cairo-lang-runner = "2.10.0-rc.1" +cairo-lang-semantic = "2.10.0-rc.1" +cairo-lang-sierra = "2.10.0-rc.1" +cairo-lang-sierra-generator = "2.10.0-rc.1" educe = "0.5.11" # can't update until https://github.com/magiclen/educe/issues/27 itertools = "0.13.0" lazy_static = "1.5" @@ -86,11 +86,11 @@ utf8_iter = "1.0.4" # CLI dependencies -cairo-lang-sierra-ap-change = "=2.10.0-rc.0" -cairo-lang-sierra-gas = "=2.10.0-rc.0" -cairo-lang-starknet = "=2.10.0-rc.0" -cairo-lang-utils = "=2.10.0-rc.0" -cairo-lang-starknet-classes = "=2.10.0-rc.0" +cairo-lang-sierra-ap-change = "2.10.0-rc.1" +cairo-lang-sierra-gas = "2.10.0-rc.1" +cairo-lang-starknet = "2.10.0-rc.1" +cairo-lang-utils = "2.10.0-rc.1" +cairo-lang-starknet-classes = "2.10.0-rc.1" cairo-native-runtime = { version = "0.2.8", path = "runtime", optional = true } clap = { version = "4.5.23", features = ["derive"], optional = true } libloading = "0.8.6" @@ -101,7 +101,7 @@ tracing-subscriber = { version = "0.3.19", features = [ ], optional = true } serde = { version = "1.0", features = ["derive"] } anyhow = { version = "1.0", optional = true } -cairo-lang-test-plugin = { version = "=2.10.0-rc.0", optional = true } +cairo-lang-test-plugin = { version = "2.10.0-rc.1", optional = true } colored = { version = "2.1.0", optional = true } # needed to interface with cairo-lang-* keccak = "0.1.5" @@ -120,7 +120,7 @@ num-integer = "0.1.46" [dev-dependencies] cairo-vm = { version = "2.0.0-rc3", features = ["cairo-1-hints"] } -cairo-lang-semantic = { version = "=2.10.0-rc.0", features = ["testing"] } +cairo-lang-semantic = { version = "2.10.0-rc.1", features = ["testing"] } criterion = { version = "0.5.1", features = ["html_reports"] } lambdaworks-math = "0.11.0" pretty_assertions_sorted = "1.2.3" diff --git a/Makefile b/Makefile index 1762fe5a8..f145e5d3d 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ # Environment detection. UNAME := $(shell uname) -CAIRO_2_VERSION = 2.10.0-rc.0 +CAIRO_2_VERSION = 2.10.0-rc.1 SCARB_VERSION = 2.9.2 # Usage is the default target for newcomers running `make`. diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index b7c312078..20dc3db32 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -15,7 +15,7 @@ starknet-types-core = { version = "0.1.7", default-features = false, features = "serde", "hash", ] } -cairo-lang-sierra-gas = "=2.10.0-rc.0" +cairo-lang-sierra-gas = "2.10.0-rc.1" starknet-curve = "0.5.1" lazy_static = "1.5.0" rand = "0.8.5" diff --git a/src/debug.rs b/src/debug.rs index b90ed0779..53db70f48 100644 --- a/src/debug.rs +++ b/src/debug.rs @@ -408,7 +408,8 @@ pub const fn libfunc_to_name(value: &CoreConcreteLibfunc) -> &'static str { BoundedIntConcreteLibfunc::Constrain(_) => "bounded_int_constrain", BoundedIntConcreteLibfunc::IsZero(_) => "bounded_int_is_zero", BoundedIntConcreteLibfunc::WrapNonZero(_) => "bounded_int_wrap_non_zero", - BoundedIntConcreteLibfunc::Trim(_) => "bounded_int_trim", + BoundedIntConcreteLibfunc::TrimMin(_) => "bounded_int_trim_min", + BoundedIntConcreteLibfunc::TrimMax(_) => "bounded_int_trim_max", }, CoreConcreteLibfunc::IntRange(selector) => match selector { IntRangeConcreteLibfunc::TryNew(_) => "int_range_try_new", diff --git a/src/libfuncs/bounded_int.rs b/src/libfuncs/bounded_int.rs index 7a652d215..c34350aa7 100644 --- a/src/libfuncs/bounded_int.rs +++ b/src/libfuncs/bounded_int.rs @@ -57,7 +57,7 @@ pub fn build<'ctx, 'this>( BoundedIntConcreteLibfunc::Constrain(info) => { build_constrain(context, registry, entry, location, helper, metadata, info) } - BoundedIntConcreteLibfunc::Trim(info) => { + BoundedIntConcreteLibfunc::TrimMin(info) | BoundedIntConcreteLibfunc::TrimMax(info) => { build_trim(context, registry, entry, location, helper, metadata, info) } BoundedIntConcreteLibfunc::IsZero(info) => { @@ -830,7 +830,7 @@ mod test { use core::internal::{OptionRev, bounded_int::BoundedInt}; use core::internal::bounded_int; fn main() -> BoundedInt<-128, 126> { - let num = match bounded_int::trim::(1) { + let num = match bounded_int::trim_max::(1) { OptionRev::Some(n) => n, OptionRev::None => 0, }; @@ -861,7 +861,7 @@ mod test { use core::internal::{OptionRev, bounded_int::BoundedInt}; use core::internal::bounded_int; fn main() -> BoundedInt<-127, 127> { - let num = match bounded_int::trim::(1) { + let num = match bounded_int::trim_min::(1) { OptionRev::Some(n) => n, OptionRev::None => 1, }; @@ -892,7 +892,7 @@ mod test { use core::internal::{OptionRev, bounded_int::BoundedInt}; use core::internal::bounded_int; fn main() -> BoundedInt<0, 4294967294> { - let num = match bounded_int::trim::(0xfffffffe) { + let num = match bounded_int::trim_max::(0xfffffffe) { OptionRev::Some(n) => n, OptionRev::None => 0, }; @@ -923,7 +923,7 @@ mod test { use core::internal::{OptionRev, bounded_int::BoundedInt}; use core::internal::bounded_int; fn main() -> BoundedInt<-32767, 32767> { - let num = match bounded_int::trim::(-0x8000) { + let num = match bounded_int::trim_min::(-0x8000) { OptionRev::Some(n) => n, OptionRev::None => 0, }; diff --git a/src/libfuncs/const.rs b/src/libfuncs/const.rs index fa4e1892b..57cd83d34 100644 --- a/src/libfuncs/const.rs +++ b/src/libfuncs/const.rs @@ -17,6 +17,7 @@ use cairo_lang_sierra::{ ConstConcreteType, }, core::{CoreLibfunc, CoreType, CoreTypeConcrete}, + starknet::StarkNetTypeConcrete, }, program::GenericArg, program_registry::ProgramRegistry, @@ -268,6 +269,23 @@ pub fn build_const_type_value<'ctx, 'this>( entry.const_int_from_type(context, location, value, inner_ty) } + CoreTypeConcrete::StarkNet(starnet_type) => match starnet_type { + StarkNetTypeConcrete::ClassHash(_) | StarkNetTypeConcrete::ContractAddress(_) => { + let value = match &info.inner_data.as_slice() { + [GenericArg::Value(value)] => value.clone(), + _ => return Err(Error::ConstDataMismatch), + }; + + let (sign, value) = value.into_parts(); + let value = match sign { + Sign::Minus => PRIME.clone() - value, + _ => value, + }; + + entry.const_int_from_type(context, location, value, inner_ty) + } + _ => native_panic!("const for type {} not implemented", info.inner_ty), + }, CoreTypeConcrete::Uint8(_) | CoreTypeConcrete::Uint16(_) | CoreTypeConcrete::Uint32(_) diff --git a/tests/alexandria/Scarb.toml b/tests/alexandria/Scarb.toml index c507a5b23..f080801e3 100644 --- a/tests/alexandria/Scarb.toml +++ b/tests/alexandria/Scarb.toml @@ -1,7 +1,6 @@ [package] name = "alexandria" version = "0.1.0" -cairo-version = "2.9.2" edition = "2024_07" # See more keys and their definitions at https://docs.swmansion.com/scarb/docs/reference/manifest.html From e3eaa1a530ecabf5d82f5d73dc1d96bae06823fb Mon Sep 17 00:00:00 2001 From: MrAzteca Date: Mon, 20 Jan 2025 19:20:54 +0100 Subject: [PATCH 3/6] Fix `array_snapshot_pop_front`'s clone-on-write's clone implementation. (#1063) * Fix `array_snapshot_pop_front`'s clone-on-write's clone implementation. * Add testing. --- src/libfuncs/array.rs | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/src/libfuncs/array.rs b/src/libfuncs/array.rs index dd09436ec..27fd0ffe9 100644 --- a/src/libfuncs/array.rs +++ b/src/libfuncs/array.rs @@ -1162,8 +1162,9 @@ fn build_pop<'ctx, 'this, const CONSUME: bool, const REVERSE: bool>( let data_ptr = if REVERSE { array_ptr } else { + let offset = block.addi(array_start, extract_len_value, location)?; let offset = block.append_op_result(arith::extui( - extract_len_value, + offset, IntegerType::new(context, 64).into(), location, ))?; @@ -3063,4 +3064,34 @@ mod test { assert_eq!(result, jit_enum!(0, jit_struct!(Value::Felt252(42.into())))); } + + #[test] + fn array_snapshot_pop_front_clone_offset() { + let program = load_cairo! { + fn run_test() -> Span { + let data = array![7, 3, 4, 193827]; + let mut data = data.span(); + + assert(*data.pop_front().unwrap() == 7, 0); + let data2 = data.clone(); + + assert(*data.pop_front().unwrap() == 3, 1); + + drop(data2); + data + } + }; + let result = run_program(&program, "run_test", &[]).return_value; + + assert_eq!( + result, + jit_enum!( + 0, + jit_struct!(jit_struct!(Value::Array(vec![ + Value::Felt252(4.into()), + Value::Felt252(193827.into()), + ]))) + ), + ); + } } From 934ec380a73b30ac83974203f93e0df361cf95a9 Mon Sep 17 00:00:00 2001 From: Edgar Date: Mon, 20 Jan 2025 20:08:02 +0100 Subject: [PATCH 4/6] bump version to 0.2.9 for release (#1062) --- Cargo.lock | 4 ++-- Cargo.toml | 4 ++-- runtime/Cargo.toml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f84dd692c..e966c64c6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1144,7 +1144,7 @@ dependencies = [ [[package]] name = "cairo-native" -version = "0.2.8" +version = "0.2.9" dependencies = [ "anyhow", "aquamarine", @@ -1207,7 +1207,7 @@ dependencies = [ [[package]] name = "cairo-native-runtime" -version = "0.2.8" +version = "0.2.9" dependencies = [ "cairo-lang-sierra-gas", "itertools 0.14.0", diff --git a/Cargo.toml b/Cargo.toml index 169c65f20..0544d4de8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cairo-native" -version = "0.2.8" +version = "0.2.9" edition = "2021" license = "Apache-2.0" description = "A compiler to convert Cairo's intermediate representation Sierra code to MLIR." @@ -91,7 +91,7 @@ cairo-lang-sierra-gas = "2.10.0-rc.1" cairo-lang-starknet = "2.10.0-rc.1" cairo-lang-utils = "2.10.0-rc.1" cairo-lang-starknet-classes = "2.10.0-rc.1" -cairo-native-runtime = { version = "0.2.8", path = "runtime", optional = true } +cairo-native-runtime = { version = "0.2.9", path = "runtime", optional = true } clap = { version = "4.5.23", features = ["derive"], optional = true } libloading = "0.8.6" tracing-subscriber = { version = "0.3.19", features = [ diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index 20dc3db32..8f827521d 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cairo-native-runtime" -version = "0.2.8" +version = "0.2.9" description = "The runtime for cairo-native." edition = "2021" license = "Apache-2.0" From 3abd2fa63247c1fa1fef3824a32e7944f76c4c94 Mon Sep 17 00:00:00 2001 From: Edgar Date: Tue, 21 Jan 2025 08:58:14 +0100 Subject: [PATCH 5/6] Update melior (#1061) --- Cargo.lock | 211 +++++++---------------------- Cargo.toml | 2 +- src/compiler.rs | 4 +- src/libfuncs.rs | 2 +- src/libfuncs/array.rs | 3 +- src/libfuncs/bool.rs | 2 +- src/libfuncs/bounded_int.rs | 2 +- src/libfuncs/box.rs | 2 +- src/libfuncs/bytes31.rs | 2 +- src/libfuncs/cast.rs | 2 +- src/libfuncs/circuit.rs | 3 +- src/libfuncs/const.rs | 2 +- src/libfuncs/coupon.rs | 2 +- src/libfuncs/debug.rs | 2 +- src/libfuncs/drop.rs | 2 +- src/libfuncs/dup.rs | 2 +- src/libfuncs/ec.rs | 2 +- src/libfuncs/enum.rs | 2 +- src/libfuncs/felt252.rs | 2 +- src/libfuncs/felt252_dict.rs | 2 +- src/libfuncs/felt252_dict_entry.rs | 2 +- src/libfuncs/function_call.rs | 2 +- src/libfuncs/gas.rs | 2 +- src/libfuncs/int.rs | 2 +- src/libfuncs/int_range.rs | 2 +- src/libfuncs/mem.rs | 2 +- src/libfuncs/nullable.rs | 2 +- src/libfuncs/pedersen.rs | 2 +- src/libfuncs/poseidon.rs | 2 +- src/libfuncs/starknet.rs | 2 +- src/libfuncs/starknet/secp256.rs | 2 +- src/libfuncs/starknet/testing.rs | 2 +- src/libfuncs/struct.rs | 2 +- src/libfuncs/uint256.rs | 2 +- src/libfuncs/uint512.rs | 2 +- src/metadata/debug_utils.rs | 2 +- src/metadata/drop_overrides.rs | 2 +- src/metadata/dup_overrides.rs | 2 +- src/metadata/felt252_dict.rs | 2 +- src/metadata/realloc_bindings.rs | 2 +- src/metadata/runtime_bindings.rs | 2 +- src/types/array.rs | 5 +- src/types/box.rs | 5 +- src/types/enum.rs | 2 +- src/types/felt252_dict.rs | 2 +- src/types/nullable.rs | 2 +- src/types/snapshot.rs | 2 +- src/types/starknet.rs | 5 +- src/types/struct.rs | 2 +- src/utils/block_ext.rs | 2 +- 50 files changed, 112 insertions(+), 210 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e966c64c6..d26542199 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -93,11 +93,12 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "3.0.6" +version = "3.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" +checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" dependencies = [ "anstyle", + "once_cell", "windows-sys 0.59.0", ] @@ -426,29 +427,6 @@ dependencies = [ "serde", ] -[[package]] -name = "bindgen" -version = "0.69.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" -dependencies = [ - "bitflags", - "cexpr", - "clang-sys", - "itertools 0.12.1", - "lazy_static", - "lazycell", - "log", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "rustc-hash 1.1.0", - "shlex", - "syn 2.0.96", - "which", -] - [[package]] name = "bindgen" version = "0.71.1" @@ -501,9 +479,9 @@ checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" [[package]] name = "bitflags" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1be3f42a67d6d345ecd59f675f3f012d6974981560836e938c22b424b85ce1be" +checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" [[package]] name = "bitvec" @@ -526,31 +504,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "bon" -version = "3.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe7acc34ff59877422326db7d6f2d845a582b16396b6b08194942bf34c6528ab" -dependencies = [ - "bon-macros", - "rustversion", -] - -[[package]] -name = "bon-macros" -version = "3.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4159dd617a7fbc9be6a692fe69dc2954f8e6bb6bb5e4d7578467441390d77fd0" -dependencies = [ - "darling", - "ident_case", - "prettyplease", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.96", -] - [[package]] name = "bstr" version = "1.11.3" @@ -902,7 +855,7 @@ dependencies = [ "anyhow", "cairo-lang-utils", "const-fnv1a-hash", - "convert_case", + "convert_case 0.6.0", "derivative", "itertools 0.12.1", "lalrpop", @@ -1047,7 +1000,7 @@ dependencies = [ "cairo-lang-sierra", "cairo-lang-sierra-to-casm", "cairo-lang-utils", - "convert_case", + "convert_case 0.6.0", "itertools 0.12.1", "num-bigint", "num-integer", @@ -1134,7 +1087,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33d72369877bade85ecfef9bc13cbd0c66fdaa3e8cd9686833f0db65eacaa833" dependencies = [ "hashbrown 0.14.5", - "indexmap 2.7.0", + "indexmap 2.7.1", "itertools 0.12.1", "num-bigint", "num-traits", @@ -1279,7 +1232,7 @@ dependencies = [ "serde_json", "sha2", "sha3", - "starknet-crypto 0.7.3", + "starknet-crypto 0.7.4", "starknet-types-core", "thiserror-no-std", "wasm-bindgen", @@ -1312,9 +1265,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.2.9" +version = "1.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8293772165d9345bdaaa39b45b2109591e63fe5e6fbc23c6ff930a048aa310b" +checksum = "13208fcbb66eaeffe09b99fffbe1af420f00a7b35aa99ad683dfc1aa76145229" dependencies = [ "jobserver", "libc", @@ -1442,16 +1395,13 @@ dependencies = [ [[package]] name = "comrak" -version = "0.32.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48ae8f3e7e3f3d424cbb33354fc36943d507327d210aa5794b0192f4be726c6d" +checksum = "39bff2cbb80102771ca62bd2375bc6f6611dc1493373440b23aa08a155538708" dependencies = [ - "bon", "caseless", "entities", "memchr", - "once_cell", - "regex", "slug", "typed-arena", "unicode_categories", @@ -1511,6 +1461,15 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "convert_case" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb402b8d4c85569410425650ce3eddc7d698ed96d39a73f941b08fb63082f1e7" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "cpufeatures" version = "0.2.16" @@ -1617,41 +1576,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "darling" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.96", -] - -[[package]] -name = "darling_macro" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" -dependencies = [ - "darling_core", - "quote", - "syn 2.0.96", -] - [[package]] name = "darrentsung_debug_parser" version = "0.3.1" @@ -2068,15 +1992,6 @@ dependencies = [ "digest", ] -[[package]] -name = "home" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" -dependencies = [ - "windows-sys 0.59.0", -] - [[package]] name = "html-escape" version = "0.2.13" @@ -2092,12 +2007,6 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005" -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - [[package]] name = "ignore" version = "0.4.23" @@ -2163,9 +2072,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.7.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" +checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" dependencies = [ "equivalent", "hashbrown 0.15.2", @@ -2368,12 +2277,6 @@ dependencies = [ "spin", ] -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - [[package]] name = "libc" version = "0.2.169" @@ -2432,9 +2335,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.22" +version = "0.4.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" [[package]] name = "lru" @@ -2466,9 +2369,9 @@ dependencies = [ [[package]] name = "melior" -version = "0.20.2" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfcb398e6571361b6f54fd0057066d9b47a822bcb797bf5867e5412e9e6f387" +checksum = "f2af6454b7bcd7edc8c2060a3726a18ceaed60e25c34d9f8de9c6b44e82eb647" dependencies = [ "melior-macro", "mlir-sys", @@ -2476,17 +2379,17 @@ dependencies = [ [[package]] name = "melior-macro" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3086e8c12eb1999d636595cc3c2aee82a28d4bb80163267d51bd66a617cdaefc" +checksum = "a99671327250df8e24e56d8304474a970e7a2c6bb8f6dc71382d188136fe4d1b" dependencies = [ "comrak", - "convert_case", + "convert_case 0.7.1", "proc-macro2", "quote", "regex", "syn 2.0.96", - "tblgen-alt", + "tblgen", "unindent", ] @@ -2514,9 +2417,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" +checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924" dependencies = [ "adler2", ] @@ -2527,7 +2430,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21b598f9c0fa7a453eeaa9fe419ae93759c94a66eb6f8a496d195ba596ae3c4d" dependencies = [ - "bindgen 0.71.1", + "bindgen", ] [[package]] @@ -2767,7 +2670,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.7.0", + "indexmap 2.7.1", ] [[package]] @@ -3164,7 +3067,7 @@ version = "0.17.0-pre.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "719825638c59fd26a55412a24561c7c5bcf54364c88b9a7a04ba08a6eafaba8d" dependencies = [ - "indexmap 2.7.0", + "indexmap 2.7.1", "lock_api", "oorandom", "parking_lot", @@ -3327,9 +3230,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "semver" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" +checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03" dependencies = [ "serde", ] @@ -3367,9 +3270,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.135" +version = "1.0.137" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9" +checksum = "930cfb6e6abf99298aaad7d29abbef7a9999a9a8806a40088f55f0dcec03146b" dependencies = [ "itoa", "memchr", @@ -3519,9 +3422,9 @@ dependencies = [ [[package]] name = "starknet-crypto" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded22ccf4cb9e572ce3f77de6066af53560cd2520d508876c83bb1e6b29d5cbc" +checksum = "039a3bad70806b494c9e6b21c5238a6c8a373d66a26071859deb0ccca6f93634" dependencies = [ "crypto-bigint", "hex", @@ -3652,15 +3555,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] -name = "tblgen-alt" -version = "0.4.0" +name = "tblgen" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ecbc9175dd38627cd01d546e7b41c9a115e5773f4c98f64e2185c81ec5f45ab" +checksum = "c155c9310c9e11e6f642b4c8a30ae572ea0cad013d5c9e28bb264b52fa8163bb" dependencies = [ - "bindgen 0.69.5", + "bindgen", "cc", "paste", - "thiserror 1.0.69", + "thiserror 2.0.11", ] [[package]] @@ -3871,7 +3774,7 @@ version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ - "indexmap 2.7.0", + "indexmap 2.7.1", "serde", "serde_spanned", "toml_datetime", @@ -4054,9 +3957,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "valuable" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "version_check" @@ -4163,18 +4066,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "which" -version = "4.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" -dependencies = [ - "either", - "home", - "once_cell", - "rustix", -] - [[package]] name = "winapi" version = "0.3.9" diff --git a/Cargo.toml b/Cargo.toml index 0544d4de8..ff779ac41 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -70,7 +70,7 @@ itertools = "0.13.0" lazy_static = "1.5" libc = "0.2" llvm-sys = "191.0.0" -melior = { version = "0.20.2", features = ["ods-dialects", "helpers"] } +melior = { version = "0.21.0", features = ["ods-dialects", "helpers"] } mlir-sys = { version = "0.4.1" } num-bigint = "0.4.6" num-traits = "0.2" diff --git a/src/compiler.rs b/src/compiler.rs index d7c35f235..ebd9b5949 100644 --- a/src/compiler.rs +++ b/src/compiler.rs @@ -84,8 +84,8 @@ use melior::{ }, operation::OperationBuilder, r#type::{FunctionType, IntegerType, MemRefType}, - Attribute, AttributeLike, Block, BlockRef, Identifier, Location, Module, Region, Type, - Value, + Attribute, AttributeLike, Block, BlockLike, BlockRef, Identifier, Location, Module, Region, + Type, Value, }, Context, }; diff --git a/src/libfuncs.rs b/src/libfuncs.rs index 9fee168a0..16cc7be30 100644 --- a/src/libfuncs.rs +++ b/src/libfuncs.rs @@ -25,7 +25,7 @@ use cairo_lang_sierra::{ }; use melior::{ dialect::{arith, cf}, - ir::{Block, BlockRef, Location, Module, Operation, Region, Value}, + ir::{Block, BlockLike, BlockRef, Location, Module, Operation, Region, Value}, Context, }; use num_bigint::BigInt; diff --git a/src/libfuncs/array.rs b/src/libfuncs/array.rs index 27fd0ffe9..f72e85588 100644 --- a/src/libfuncs/array.rs +++ b/src/libfuncs/array.rs @@ -24,7 +24,8 @@ use melior::{ cf, llvm, ods, scf, }, ir::{ - attribute::IntegerAttribute, r#type::IntegerType, Block, Location, Region, Value, ValueLike, + attribute::IntegerAttribute, r#type::IntegerType, Block, BlockLike, Location, Region, + Value, ValueLike, }, Context, }; diff --git a/src/libfuncs/bool.rs b/src/libfuncs/bool.rs index 5ccbd8a72..003ed336d 100644 --- a/src/libfuncs/bool.rs +++ b/src/libfuncs/bool.rs @@ -18,7 +18,7 @@ use cairo_lang_sierra::{ }; use melior::{ dialect::{arith, llvm}, - ir::{r#type::IntegerType, Block, Location}, + ir::{r#type::IntegerType, Block, BlockLike, Location}, Context, }; diff --git a/src/libfuncs/bounded_int.rs b/src/libfuncs/bounded_int.rs index c34350aa7..c50ee5201 100644 --- a/src/libfuncs/bounded_int.rs +++ b/src/libfuncs/bounded_int.rs @@ -26,7 +26,7 @@ use melior::{ arith::{self, CmpiPredicate}, cf, }, - ir::{r#type::IntegerType, Block, Location, Value, ValueLike}, + ir::{r#type::IntegerType, Block, BlockLike, Location, Value, ValueLike}, Context, }; use num_bigint::{BigInt, Sign}; diff --git a/src/libfuncs/box.rs b/src/libfuncs/box.rs index 224340959..96a50ef52 100644 --- a/src/libfuncs/box.rs +++ b/src/libfuncs/box.rs @@ -22,7 +22,7 @@ use melior::{ llvm::{self, r#type::pointer, LoadStoreOptions}, ods, }, - ir::{attribute::IntegerAttribute, r#type::IntegerType, Block, Location}, + ir::{attribute::IntegerAttribute, r#type::IntegerType, Block, BlockLike, Location}, Context, }; diff --git a/src/libfuncs/bytes31.rs b/src/libfuncs/bytes31.rs index 38852c6c6..66006c87a 100644 --- a/src/libfuncs/bytes31.rs +++ b/src/libfuncs/bytes31.rs @@ -21,7 +21,7 @@ use melior::{ arith::{self, CmpiPredicate}, cf, }, - ir::{Attribute, Block, Location, Value}, + ir::{Attribute, Block, BlockLike, Location, Value}, Context, }; use num_bigint::BigUint; diff --git a/src/libfuncs/cast.rs b/src/libfuncs/cast.rs index 1e8ede5fd..632526d94 100644 --- a/src/libfuncs/cast.rs +++ b/src/libfuncs/cast.rs @@ -19,7 +19,7 @@ use cairo_lang_sierra::{ }; use melior::{ dialect::arith::{self, CmpiPredicate}, - ir::{r#type::IntegerType, Block, Location, Value, ValueLike}, + ir::{r#type::IntegerType, Block, BlockLike, Location, Value, ValueLike}, Context, }; use num_bigint::{BigInt, Sign}; diff --git a/src/libfuncs/circuit.rs b/src/libfuncs/circuit.rs index cacf4b1eb..1aee4eae3 100644 --- a/src/libfuncs/circuit.rs +++ b/src/libfuncs/circuit.rs @@ -26,7 +26,8 @@ use melior::{ cf, llvm, }, ir::{ - attribute::DenseI32ArrayAttribute, r#type::IntegerType, Block, Location, Value, ValueLike, + attribute::DenseI32ArrayAttribute, r#type::IntegerType, Block, BlockLike, Location, Value, + ValueLike, }, Context, }; diff --git a/src/libfuncs/const.rs b/src/libfuncs/const.rs index 57cd83d34..5efd9a6e0 100644 --- a/src/libfuncs/const.rs +++ b/src/libfuncs/const.rs @@ -24,7 +24,7 @@ use cairo_lang_sierra::{ }; use melior::{ dialect::llvm::{self, r#type::pointer}, - ir::{Block, Location, Value}, + ir::{Block, BlockLike, Location, Value}, Context, }; use num_bigint::Sign; diff --git a/src/libfuncs/coupon.rs b/src/libfuncs/coupon.rs index 8ec584098..4a698d233 100644 --- a/src/libfuncs/coupon.rs +++ b/src/libfuncs/coupon.rs @@ -20,7 +20,7 @@ use cairo_lang_sierra::{ }; use melior::{ dialect::llvm, - ir::{Block, Location}, + ir::{Block, BlockLike, Location}, Context, }; diff --git a/src/libfuncs/debug.rs b/src/libfuncs/debug.rs index d4fc3cc58..9a4b0cb47 100644 --- a/src/libfuncs/debug.rs +++ b/src/libfuncs/debug.rs @@ -27,7 +27,7 @@ use cairo_lang_sierra::{ }; use melior::{ dialect::{arith, cf, llvm}, - ir::{r#type::IntegerType, Block, Location}, + ir::{r#type::IntegerType, Block, BlockLike, Location}, Context, }; diff --git a/src/libfuncs/drop.rs b/src/libfuncs/drop.rs index a7a0bf959..8f32dcca9 100644 --- a/src/libfuncs/drop.rs +++ b/src/libfuncs/drop.rs @@ -19,7 +19,7 @@ use cairo_lang_sierra::{ program_registry::ProgramRegistry, }; use melior::{ - ir::{Block, Location}, + ir::{Block, BlockLike, Location}, Context, }; diff --git a/src/libfuncs/dup.rs b/src/libfuncs/dup.rs index a0f6112b4..eb9477c50 100644 --- a/src/libfuncs/dup.rs +++ b/src/libfuncs/dup.rs @@ -18,7 +18,7 @@ use cairo_lang_sierra::{ program_registry::ProgramRegistry, }; use melior::{ - ir::{Block, Location}, + ir::{Block, BlockLike, Location}, Context, }; diff --git a/src/libfuncs/ec.rs b/src/libfuncs/ec.rs index e55a7c304..5563d1f6b 100644 --- a/src/libfuncs/ec.rs +++ b/src/libfuncs/ec.rs @@ -20,7 +20,7 @@ use melior::{ arith::{self, CmpiPredicate}, llvm, }, - ir::{operation::OperationBuilder, r#type::IntegerType, Block, Location}, + ir::{operation::OperationBuilder, r#type::IntegerType, Block, BlockLike, Location}, Context, }; diff --git a/src/libfuncs/enum.rs b/src/libfuncs/enum.rs index 1b2fba284..7e4fd6b70 100644 --- a/src/libfuncs/enum.rs +++ b/src/libfuncs/enum.rs @@ -25,7 +25,7 @@ use melior::{ ir::{ attribute::{DenseI64ArrayAttribute, IntegerAttribute}, r#type::IntegerType, - Block, Location, Value, + Block, BlockLike, Location, Value, }, Context, }; diff --git a/src/libfuncs/felt252.rs b/src/libfuncs/felt252.rs index cf424b4d3..65f079bdc 100644 --- a/src/libfuncs/felt252.rs +++ b/src/libfuncs/felt252.rs @@ -23,7 +23,7 @@ use melior::{ arith::{self, CmpiPredicate}, cf, }, - ir::{r#type::IntegerType, Block, Location, Value, ValueLike}, + ir::{r#type::IntegerType, Block, BlockLike, Location, Value, ValueLike}, Context, }; use num_bigint::{BigInt, Sign}; diff --git a/src/libfuncs/felt252_dict.rs b/src/libfuncs/felt252_dict.rs index 09e9967db..b13394ab2 100644 --- a/src/libfuncs/felt252_dict.rs +++ b/src/libfuncs/felt252_dict.rs @@ -20,7 +20,7 @@ use cairo_lang_sierra::{ }; use melior::{ dialect::{llvm, ods}, - ir::{Block, Location}, + ir::{Block, BlockLike, Location}, Context, }; diff --git a/src/libfuncs/felt252_dict_entry.rs b/src/libfuncs/felt252_dict_entry.rs index b9a5ecfe8..478dcfc81 100644 --- a/src/libfuncs/felt252_dict_entry.rs +++ b/src/libfuncs/felt252_dict_entry.rs @@ -18,7 +18,7 @@ use cairo_lang_sierra::{ }; use melior::{ dialect::{llvm, scf}, - ir::{r#type::IntegerType, Block, Location, Region}, + ir::{r#type::IntegerType, Block, BlockLike, Location, Region}, Context, }; use std::cell::Cell; diff --git a/src/libfuncs/function_call.rs b/src/libfuncs/function_call.rs index 2c9d63b89..8ba17c7b8 100644 --- a/src/libfuncs/function_call.rs +++ b/src/libfuncs/function_call.rs @@ -23,7 +23,7 @@ use melior::{ attribute::{DenseI32ArrayAttribute, FlatSymbolRefAttribute}, operation::OperationBuilder, r#type::IntegerType, - Attribute, Block, Identifier, Location, Type, Value, + Attribute, Block, BlockLike, Identifier, Location, Type, Value, }, Context, }; diff --git a/src/libfuncs/gas.rs b/src/libfuncs/gas.rs index 662544f7a..b9aaf80a5 100644 --- a/src/libfuncs/gas.rs +++ b/src/libfuncs/gas.rs @@ -17,7 +17,7 @@ use cairo_lang_sierra::{ }; use melior::{ dialect::{arith::CmpiPredicate, ods}, - ir::{r#type::IntegerType, Block, Location}, + ir::{r#type::IntegerType, Block, BlockLike, Location}, Context, }; diff --git a/src/libfuncs/int.rs b/src/libfuncs/int.rs index 58f3a4d9d..f098a14b5 100644 --- a/src/libfuncs/int.rs +++ b/src/libfuncs/int.rs @@ -30,7 +30,7 @@ use melior::{ }, ir::{ attribute::IntegerAttribute, operation::OperationBuilder, r#type::IntegerType, Block, - Location, Region, ValueLike, + BlockLike, Location, Region, ValueLike, }, Context, }; diff --git a/src/libfuncs/int_range.rs b/src/libfuncs/int_range.rs index 050e13910..9e3a4023c 100644 --- a/src/libfuncs/int_range.rs +++ b/src/libfuncs/int_range.rs @@ -21,7 +21,7 @@ use melior::{ arith::{self, CmpiPredicate}, ods, }, - ir::{Block, Location}, + ir::{Block, BlockLike, Location}, Context, }; use num_bigint::BigInt; diff --git a/src/libfuncs/mem.rs b/src/libfuncs/mem.rs index 26176067e..224491f9f 100644 --- a/src/libfuncs/mem.rs +++ b/src/libfuncs/mem.rs @@ -20,7 +20,7 @@ use cairo_lang_sierra::{ }; use melior::{ dialect::llvm, - ir::{Block, Location}, + ir::{Block, BlockLike, Location}, Context, }; diff --git a/src/libfuncs/nullable.rs b/src/libfuncs/nullable.rs index 79645e6cf..8e11a1f0f 100644 --- a/src/libfuncs/nullable.rs +++ b/src/libfuncs/nullable.rs @@ -16,7 +16,7 @@ use melior::{ dialect::{cf, llvm::r#type::pointer, ods}, ir::{ attribute::IntegerAttribute, operation::OperationBuilder, r#type::IntegerType, Block, - Identifier, Location, + BlockLike, Identifier, Location, }, Context, }; diff --git a/src/libfuncs/pedersen.rs b/src/libfuncs/pedersen.rs index a5e5ff5a5..7e5657cca 100644 --- a/src/libfuncs/pedersen.rs +++ b/src/libfuncs/pedersen.rs @@ -17,7 +17,7 @@ use cairo_lang_sierra::{ program_registry::ProgramRegistry, }; use melior::{ - ir::{r#type::IntegerType, Block, Location}, + ir::{r#type::IntegerType, Block, BlockLike, Location}, Context, }; diff --git a/src/libfuncs/poseidon.rs b/src/libfuncs/poseidon.rs index 5ded6f73b..3dea59a09 100644 --- a/src/libfuncs/poseidon.rs +++ b/src/libfuncs/poseidon.rs @@ -18,7 +18,7 @@ use cairo_lang_sierra::{ }; use melior::{ dialect::ods, - ir::{r#type::IntegerType, Block, Location}, + ir::{r#type::IntegerType, Block, BlockLike, Location}, Context, }; diff --git a/src/libfuncs/starknet.rs b/src/libfuncs/starknet.rs index c7cd2fe2b..cb2253d49 100644 --- a/src/libfuncs/starknet.rs +++ b/src/libfuncs/starknet.rs @@ -25,7 +25,7 @@ use melior::{ }, ir::{ attribute::DenseI64ArrayAttribute, operation::OperationBuilder, r#type::IntegerType, - Attribute, Block, Location, Type, ValueLike, + Attribute, Block, BlockLike, Location, Type, ValueLike, }, Context, }; diff --git a/src/libfuncs/starknet/secp256.rs b/src/libfuncs/starknet/secp256.rs index 909f38e0d..a4f400ad8 100644 --- a/src/libfuncs/starknet/secp256.rs +++ b/src/libfuncs/starknet/secp256.rs @@ -18,7 +18,7 @@ use melior::{ dialect::llvm::{self, LoadStoreOptions}, ir::{ attribute::DenseI32ArrayAttribute, operation::OperationBuilder, r#type::IntegerType, Block, - Location, + BlockLike, Location, }, Context, }; diff --git a/src/libfuncs/starknet/testing.rs b/src/libfuncs/starknet/testing.rs index 0e43dd4ac..2854c0336 100644 --- a/src/libfuncs/starknet/testing.rs +++ b/src/libfuncs/starknet/testing.rs @@ -19,7 +19,7 @@ use melior::{ ir::{ attribute::{IntegerAttribute, TypeAttribute}, r#type::IntegerType, - Block, Location, + Block, BlockLike, Location, }, Context, }; diff --git a/src/libfuncs/struct.rs b/src/libfuncs/struct.rs index a1866f03a..890aa42ac 100644 --- a/src/libfuncs/struct.rs +++ b/src/libfuncs/struct.rs @@ -19,7 +19,7 @@ use cairo_lang_sierra::{ }; use melior::{ dialect::llvm, - ir::{Block, Location, Value}, + ir::{Block, BlockLike, Location, Value}, Context, }; diff --git a/src/libfuncs/uint256.rs b/src/libfuncs/uint256.rs index 774ec412e..fba56f598 100644 --- a/src/libfuncs/uint256.rs +++ b/src/libfuncs/uint256.rs @@ -20,7 +20,7 @@ use melior::{ attribute::{DenseI64ArrayAttribute, IntegerAttribute}, operation::OperationBuilder, r#type::IntegerType, - Block, Location, Region, Value, + Block, BlockLike, Location, Region, Value, }, Context, }; diff --git a/src/libfuncs/uint512.rs b/src/libfuncs/uint512.rs index c6822f126..3ba0c23ed 100644 --- a/src/libfuncs/uint512.rs +++ b/src/libfuncs/uint512.rs @@ -17,7 +17,7 @@ use cairo_lang_sierra::{ }; use melior::{ dialect::{arith, llvm}, - ir::{r#type::IntegerType, Block, Location, Value}, + ir::{r#type::IntegerType, Block, BlockLike, Location, Value}, Context, }; diff --git a/src/metadata/debug_utils.rs b/src/metadata/debug_utils.rs index c6c8447c8..d7fb3161a 100644 --- a/src/metadata/debug_utils.rs +++ b/src/metadata/debug_utils.rs @@ -97,7 +97,7 @@ use melior::{ attribute::{FlatSymbolRefAttribute, IntegerAttribute, StringAttribute, TypeAttribute}, operation::OperationBuilder, r#type::{FunctionType, IntegerType}, - Block, Identifier, Location, Module, Region, Value, + Block, BlockLike, Identifier, Location, Module, Region, Value, }, Context, ExecutionEngine, }; diff --git a/src/metadata/drop_overrides.rs b/src/metadata/drop_overrides.rs index 6c89fa54e..8a42e692c 100644 --- a/src/metadata/drop_overrides.rs +++ b/src/metadata/drop_overrides.rs @@ -35,7 +35,7 @@ use melior::{ ir::{ attribute::{FlatSymbolRefAttribute, StringAttribute, TypeAttribute}, r#type::FunctionType, - Attribute, Block, Identifier, Location, Module, Region, Value, + Attribute, Block, BlockLike, Identifier, Location, Module, Region, Value, }, Context, }; diff --git a/src/metadata/dup_overrides.rs b/src/metadata/dup_overrides.rs index f9a5efcdf..4d12434d4 100644 --- a/src/metadata/dup_overrides.rs +++ b/src/metadata/dup_overrides.rs @@ -35,7 +35,7 @@ use melior::{ ir::{ attribute::{FlatSymbolRefAttribute, StringAttribute, TypeAttribute}, r#type::FunctionType, - Attribute, Block, Identifier, Location, Module, Region, Value, ValueLike, + Attribute, Block, BlockLike, Identifier, Location, Module, Region, Value, ValueLike, }, Context, }; diff --git a/src/metadata/felt252_dict.rs b/src/metadata/felt252_dict.rs index ac9109660..d1610929b 100644 --- a/src/metadata/felt252_dict.rs +++ b/src/metadata/felt252_dict.rs @@ -12,7 +12,7 @@ use melior::{ dialect::llvm, ir::{ attribute::{FlatSymbolRefAttribute, StringAttribute, TypeAttribute}, - Attribute, Block, Identifier, Location, Module, Region, + Attribute, Block, BlockLike, Identifier, Location, Module, Region, }, Context, }; diff --git a/src/metadata/realloc_bindings.rs b/src/metadata/realloc_bindings.rs index 95a2c41d1..1019940a3 100644 --- a/src/metadata/realloc_bindings.rs +++ b/src/metadata/realloc_bindings.rs @@ -9,7 +9,7 @@ use melior::{ attribute::{FlatSymbolRefAttribute, StringAttribute, TypeAttribute}, operation::OperationBuilder, r#type::IntegerType, - Identifier, Location, Module, Operation, Region, Value, + BlockLike, Identifier, Location, Module, Operation, Region, Value, }, Context, Error, }; diff --git a/src/metadata/runtime_bindings.rs b/src/metadata/runtime_bindings.rs index f7e2f2b29..300e61be0 100644 --- a/src/metadata/runtime_bindings.rs +++ b/src/metadata/runtime_bindings.rs @@ -13,7 +13,7 @@ use melior::{ ir::{ attribute::{FlatSymbolRefAttribute, StringAttribute, TypeAttribute}, r#type::{FunctionType, IntegerType}, - Attribute, Block, Identifier, Location, Module, OperationRef, Region, Value, + Attribute, Block, BlockLike, Identifier, Location, Module, OperationRef, Region, Value, }, Context, }; diff --git a/src/types/array.rs b/src/types/array.rs index cc6de9af9..2ed55c39d 100644 --- a/src/types/array.rs +++ b/src/types/array.rs @@ -38,13 +38,16 @@ use cairo_lang_sierra::{ }, program_registry::ProgramRegistry, }; -use melior::dialect::{arith::CmpiPredicate, func, scf}; use melior::ir::Region; use melior::{ dialect::{arith, llvm}, ir::{r#type::IntegerType, Block, Location, Module, Type}, Context, }; +use melior::{ + dialect::{arith::CmpiPredicate, func, scf}, + ir::BlockLike, +}; /// Build the MLIR type. /// diff --git a/src/types/box.rs b/src/types/box.rs index 34cffd0e4..6f81cc1dd 100644 --- a/src/types/box.rs +++ b/src/types/box.rs @@ -31,7 +31,10 @@ use cairo_lang_sierra::{ }; use melior::{ dialect::{func, llvm, ods}, - ir::{attribute::IntegerAttribute, r#type::IntegerType, Block, Location, Module, Region, Type}, + ir::{ + attribute::IntegerAttribute, r#type::IntegerType, Block, BlockLike, Location, Module, + Region, Type, + }, Context, }; diff --git a/src/types/enum.rs b/src/types/enum.rs index 91cc06d25..213df2e8e 100644 --- a/src/types/enum.rs +++ b/src/types/enum.rs @@ -420,7 +420,7 @@ use cairo_lang_sierra::{ }; use melior::{ dialect::{cf, func, llvm}, - ir::{r#type::IntegerType, Block, Location, Module, Region, Type, Value}, + ir::{r#type::IntegerType, Block, BlockLike, Location, Module, Region, Type, Value}, Context, }; use std::{ diff --git a/src/types/felt252_dict.rs b/src/types/felt252_dict.rs index dfe672bb4..6afd2ebce 100644 --- a/src/types/felt252_dict.rs +++ b/src/types/felt252_dict.rs @@ -25,7 +25,7 @@ use cairo_lang_sierra::{ }; use melior::{ dialect::{func, llvm}, - ir::{Block, Location, Module, Region, Type}, + ir::{Block, BlockLike, Location, Module, Region, Type}, Context, }; diff --git a/src/types/nullable.rs b/src/types/nullable.rs index a0626cd3f..18e0a493e 100644 --- a/src/types/nullable.rs +++ b/src/types/nullable.rs @@ -23,7 +23,7 @@ use cairo_lang_sierra::{ }; use melior::{ dialect::{cf, func}, - ir::Region, + ir::{BlockLike, Region}, }; use melior::{ dialect::{llvm, ods}, diff --git a/src/types/snapshot.rs b/src/types/snapshot.rs index f521180a7..c12cbe254 100644 --- a/src/types/snapshot.rs +++ b/src/types/snapshot.rs @@ -30,7 +30,7 @@ use cairo_lang_sierra::{ }; use melior::{ dialect::func, - ir::{Block, Location, Module, Region, Type}, + ir::{Block, BlockLike, Location, Module, Region, Type}, Context, }; diff --git a/src/types/starknet.rs b/src/types/starknet.rs index 90ceab278..f5f2b3845 100644 --- a/src/types/starknet.rs +++ b/src/types/starknet.rs @@ -40,7 +40,10 @@ use cairo_lang_sierra::{ }; use melior::{ dialect::{func, llvm, ods}, - ir::{attribute::IntegerAttribute, r#type::IntegerType, Block, Location, Module, Region, Type}, + ir::{ + attribute::IntegerAttribute, r#type::IntegerType, Block, BlockLike, Location, Module, + Region, Type, + }, Context, }; diff --git a/src/types/struct.rs b/src/types/struct.rs index f90ced3dc..d98408e1c 100644 --- a/src/types/struct.rs +++ b/src/types/struct.rs @@ -49,7 +49,7 @@ use cairo_lang_sierra::{ }; use melior::{ dialect::{func, llvm}, - ir::{Block, Location, Module, Region, Type}, + ir::{Block, BlockLike, Location, Module, Region, Type}, Context, }; diff --git a/src/utils/block_ext.rs b/src/utils/block_ext.rs index d6f7b1b48..5ada458a1 100644 --- a/src/utils/block_ext.rs +++ b/src/utils/block_ext.rs @@ -12,7 +12,7 @@ use melior::{ DenseI32ArrayAttribute, DenseI64ArrayAttribute, IntegerAttribute, TypeAttribute, }, r#type::IntegerType, - Attribute, Block, Location, Operation, Type, Value, ValueLike, + Attribute, Block, BlockLike, Location, Operation, Type, Value, ValueLike, }, Context, }; From ecb0c82f6c2c1de64f2a3589f0b00f1b135eeb43 Mon Sep 17 00:00:00 2001 From: Edgar Date: Tue, 21 Jan 2025 08:58:28 +0100 Subject: [PATCH 6/6] fix bench comment (#1060) --- .github/workflows/bench-hyperfine.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/bench-hyperfine.yml b/.github/workflows/bench-hyperfine.yml index f6b79ebb5..ac9110c03 100644 --- a/.github/workflows/bench-hyperfine.yml +++ b/.github/workflows/bench-hyperfine.yml @@ -238,11 +238,16 @@ jobs: - name: Print tables run: | { - echo "${bold}Benchmark results Main vs HEAD.${normal}" + echo "## **Benchmark results Main vs HEAD.**" for f in bench-results-base/*.md; do + echo "### Base" echo cat $f + echo + echo "### Head" + echo cat bench-results-head/$(basename $f) + echo done } | tee -a comment_body.md