From d1062d11b416b59b6382aa3b09e18aa42ec1e9c7 Mon Sep 17 00:00:00 2001 From: Michael Mueller Date: Sat, 15 Mar 2025 09:41:52 +0100 Subject: [PATCH 01/15] Use one `CARGO_TARGET_DIR` for all jobs --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2096c1d0200..3acdc752fea 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,7 +28,7 @@ on: env: # Image can be edited at https://github.com/use-ink/docker-images IMAGE: useink/ci - CARGO_TARGET_DIR: /ci-cache/${{ github.repository }}/targets/${{ github.ref_name }}/${{ github.job }} + CARGO_TARGET_DIR: /ci-cache/${{ github.repository }}/targets/${{ github.ref_name }}/ PURELY_STD_CRATES: ink/codegen metadata engine e2e e2e/macro ink/ir ALSO_RISCV_CRATES: env storage storage/traits allocator prelude primitives ink ink/macro # TODO `cargo clippy --all-targets --all-features` for this crate From 40c891b070385f7dc7d4121d644a293f47857200 Mon Sep 17 00:00:00 2001 From: Michael Mueller Date: Sat, 15 Mar 2025 09:42:42 +0100 Subject: [PATCH 02/15] Increase paritions --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3acdc752fea..bedf0a6e926 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -401,7 +401,7 @@ jobs: strategy: fail-fast: false matrix: - partition: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] + partition: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25] steps: - name: Checkout uses: actions/checkout@v4 @@ -427,7 +427,7 @@ jobs: #rustup toolchain remove nightly-2025-02-20 && rustup toolchain remove stable && rustup toolchain remove 1.85.0; with: args: - /bin/bash -c "cargo +nightly nextest run --all-features --no-fail-fast --workspace --locked --jobs 2 --partition count:${{ matrix.partition }}/20" + /bin/bash -c "cargo +nightly nextest run --all-features --no-fail-fast --workspace --locked --jobs 2 --partition count:${{ matrix.partition }}/25" test-docs: runs-on: ubuntu-latest From 6631c6158d697cfdb56c672b7d16b48a706677e1 Mon Sep 17 00:00:00 2001 From: Michael Mueller Date: Sat, 15 Mar 2025 09:43:09 +0100 Subject: [PATCH 03/15] Update `Cargo.lock` --- Cargo.lock | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1c6e8efd6ae..09f31caa4af 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -833,9 +833,9 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.87" +version = "0.1.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d556ec1359574147ec0c4fc5eb525f3f23263a592b1a9c07e0a75b427de55c97" +checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ "proc-macro2", "quote", @@ -1506,7 +1506,7 @@ checksum = "cd7e35aee659887cbfb97aaf227ac12cad1a9d7c71e55ff3376839ed4e282d08" [[package]] name = "contract-build" version = "6.0.0-alpha" -source = "git+https://github.com/use-ink/cargo-contract?branch=master#1d80de955e469d420fabe28d2cbb795059495c48" +source = "git+https://github.com/use-ink/cargo-contract?branch=master#93de0631ad1703ca30a90f12c581baece0384570" dependencies = [ "alloy-json-abi", "anyhow", @@ -1548,7 +1548,7 @@ dependencies = [ [[package]] name = "contract-metadata" version = "6.0.0-alpha" -source = "git+https://github.com/use-ink/cargo-contract?branch=master#1d80de955e469d420fabe28d2cbb795059495c48" +source = "git+https://github.com/use-ink/cargo-contract?branch=master#93de0631ad1703ca30a90f12c581baece0384570" dependencies = [ "anyhow", "impl-serde", @@ -3552,7 +3552,7 @@ dependencies = [ [[package]] name = "ink_metadata" version = "6.0.0-alpha" -source = "git+https://github.com/use-ink/ink?branch=master#1dbcb575269cc77ebd37e374dcdf28d2ddddb1de" +source = "git+https://github.com/use-ink/ink?branch=master#4df5b60e4143c50903b63f85b3a4337e9c5c544b" dependencies = [ "derive_more 1.0.0", "impl-serde", @@ -3575,7 +3575,7 @@ dependencies = [ [[package]] name = "ink_prelude" version = "6.0.0-alpha" -source = "git+https://github.com/use-ink/ink?branch=master#1dbcb575269cc77ebd37e374dcdf28d2ddddb1de" +source = "git+https://github.com/use-ink/ink?branch=master#4df5b60e4143c50903b63f85b3a4337e9c5c544b" dependencies = [ "cfg-if", ] @@ -3608,7 +3608,7 @@ dependencies = [ [[package]] name = "ink_primitives" version = "6.0.0-alpha" -source = "git+https://github.com/use-ink/ink?branch=master#1dbcb575269cc77ebd37e374dcdf28d2ddddb1de" +source = "git+https://github.com/use-ink/ink?branch=master#4df5b60e4143c50903b63f85b3a4337e9c5c544b" dependencies = [ "alloy-sol-types", "cfg-if", @@ -6945,7 +6945,7 @@ dependencies = [ [[package]] name = "sp-crypto-ec-utils" version = "0.10.0" -source = "git+https://github.com/paritytech/polkadot-sdk#3a6c48943a60b30c41debc600d69ba384b3773b1" +source = "git+https://github.com/paritytech/polkadot-sdk#762f902397a585175a6dae26f021e52a20328138" dependencies = [ "ark-bls12-377", "ark-bls12-377-ext", @@ -7012,7 +7012,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#3a6c48943a60b30c41debc600d69ba384b3773b1" +source = "git+https://github.com/paritytech/polkadot-sdk#762f902397a585175a6dae26f021e52a20328138" dependencies = [ "proc-macro2", "quote", @@ -7032,7 +7032,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.25.0" -source = "git+https://github.com/paritytech/polkadot-sdk#3a6c48943a60b30c41debc600d69ba384b3773b1" +source = "git+https://github.com/paritytech/polkadot-sdk#762f902397a585175a6dae26f021e52a20328138" dependencies = [ "environmental", "parity-scale-codec", @@ -7221,7 +7221,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#3a6c48943a60b30c41debc600d69ba384b3773b1" +source = "git+https://github.com/paritytech/polkadot-sdk#762f902397a585175a6dae26f021e52a20328138" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -7253,7 +7253,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#3a6c48943a60b30c41debc600d69ba384b3773b1" +source = "git+https://github.com/paritytech/polkadot-sdk#762f902397a585175a6dae26f021e52a20328138" dependencies = [ "Inflector", "expander", @@ -7318,7 +7318,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk?rev=f8c90b2a01ec77579bc [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#3a6c48943a60b30c41debc600d69ba384b3773b1" +source = "git+https://github.com/paritytech/polkadot-sdk#762f902397a585175a6dae26f021e52a20328138" [[package]] name = "sp-storage" @@ -7335,7 +7335,7 @@ dependencies = [ [[package]] name = "sp-storage" version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#3a6c48943a60b30c41debc600d69ba384b3773b1" +source = "git+https://github.com/paritytech/polkadot-sdk#762f902397a585175a6dae26f021e52a20328138" dependencies = [ "impl-serde", "parity-scale-codec", @@ -7370,7 +7370,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#3a6c48943a60b30c41debc600d69ba384b3773b1" +source = "git+https://github.com/paritytech/polkadot-sdk#762f902397a585175a6dae26f021e52a20328138" dependencies = [ "parity-scale-codec", "tracing", @@ -7452,7 +7452,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#3a6c48943a60b30c41debc600d69ba384b3773b1" +source = "git+https://github.com/paritytech/polkadot-sdk#762f902397a585175a6dae26f021e52a20328138" dependencies = [ "anyhow", "impl-trait-for-tuples", From e3beb6bce5367359db5ab408ba2a99763e411b5a Mon Sep 17 00:00:00 2001 From: Michael Mueller Date: Sat, 15 Mar 2025 12:37:13 +0100 Subject: [PATCH 04/15] Experiment with settings --- .github/workflows/ci.yml | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bedf0a6e926..e018b27fc94 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -394,10 +394,12 @@ jobs: test: runs-on: ubuntu-latest - needs: [check] + needs: [set-image, check] defaults: run: shell: bash + container: + image: ${{ needs.set-image.outputs.IMAGE }} strategy: fail-fast: false matrix: @@ -415,7 +417,6 @@ jobs: ${{ env.CARGO_TARGET_DIR }} - name: Test - uses: docker://useink/ci env: # Fix for linking of `linkme` for `cargo test`: https://github.com/dtolnay/linkme/issues/49 RUSTFLAGS: -Clink-dead-code -Clink-arg=-z -Clink-arg=nostart-stop-gc @@ -425,9 +426,8 @@ jobs: # at the same time, hence we use this workaround. QUICKCHECK_TESTS: 0 #rustup toolchain remove nightly-2025-02-20 && rustup toolchain remove stable && rustup toolchain remove 1.85.0; - with: - args: - /bin/bash -c "cargo +nightly nextest run --all-features --no-fail-fast --workspace --locked --jobs 2 --partition count:${{ matrix.partition }}/25" + run: | + cargo +nightly nextest run --all-features --no-fail-fast --workspace --locked --jobs 2 --partition count:${{ matrix.partition }}/25 test-docs: runs-on: ubuntu-latest @@ -497,6 +497,7 @@ jobs: with: cache-directories: | ${{ env.CARGO_TARGET_DIR }} + - name: Rust Info uses: ./.github/rust-info @@ -570,6 +571,12 @@ jobs: - name: Rust Info uses: ./.github/rust-info + - name: Cache + uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7 + with: + cache-directories: | + ${{ env.CARGO_TARGET_DIR }} + - name: Codecov env: # For codecov it's sufficient to run the fuzz tests only once. @@ -822,10 +829,9 @@ jobs: fuzz: runs-on: ubuntu-latest needs: [set-image, examples-docs, examples-contract-build, examples-test, examples-custom-test] - if: > - github.event_name == 'push' && - github.ref == 'refs/heads/master' - + #if: > + #github.event_name == 'push' && + #github.ref == 'refs/heads/master' permissions: issues: write defaults: From cc547fef6dda386cb2b278612c503db91cfd0236 Mon Sep 17 00:00:00 2001 From: Michael Mueller Date: Sat, 15 Mar 2025 15:43:52 +0100 Subject: [PATCH 05/15] Remove unnecessary toolchains --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e018b27fc94..e6613afa76b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -425,8 +425,8 @@ jobs: # There's no way to disable a single feature while enabling all features # at the same time, hence we use this workaround. QUICKCHECK_TESTS: 0 - #rustup toolchain remove nightly-2025-02-20 && rustup toolchain remove stable && rustup toolchain remove 1.85.0; run: | + rustup toolchain remove nightly-2025-02-20; rustup toolchain remove stable; rustup toolchain remove 1.85.0; cargo +nightly nextest run --all-features --no-fail-fast --workspace --locked --jobs 2 --partition count:${{ matrix.partition }}/25 test-docs: From 18b6b8ed9773f9b1332d12319bc5c5aec60e47eb Mon Sep 17 00:00:00 2001 From: Michael Mueller Date: Sat, 15 Mar 2025 15:45:09 +0100 Subject: [PATCH 06/15] Attempt fixing `codecov` stage --- .github/workflows/ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e6613afa76b..e06e310c097 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -599,6 +599,7 @@ jobs: df -h rustup toolchain remove nightly-2025-02-20; rustup toolchain remove stable; + rustup toolchain remove nightly; df -h # rustup toolchain remove 1.85.0; # RUSTFLAGS are the cause target cache can't be used here @@ -611,8 +612,8 @@ jobs: find . -name "*.gcda" -type f -delete # FIXME: Access from 2 users, should be solved once ci-image works from a non-root user git config --global --add safe.directory '*' - cargo +nightly build --all-features --workspace - cargo +nightly test --all-features --no-fail-fast --workspace --locked -- --skip ui_tests + cargo +1.85.0 build --all-features --workspace + cargo +1.85.0 test --all-features --no-fail-fast --workspace --locked -- --skip ui_tests # coverage with branches grcov . --binary-path ./target/debug/ --source-dir . --output-type lcov --llvm --branch \ --ignore-not-existing --ignore "/*" --ignore "tests/*" --output-path lcov-w-branch.info From 0eee9266013a1f0a73507237fd29d58aefab2661 Mon Sep 17 00:00:00 2001 From: Michael Mueller Date: Sat, 15 Mar 2025 18:01:02 +0100 Subject: [PATCH 07/15] Attempt fixing `codecov` stage --- .github/workflows/ci.yml | 62 ++++++++++++---------------------------- 1 file changed, 18 insertions(+), 44 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e06e310c097..89b014a2de6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -394,7 +394,8 @@ jobs: test: runs-on: ubuntu-latest - needs: [set-image, check] + # needs: [set-image, check] + needs: [set-image] defaults: run: shell: bash @@ -403,7 +404,7 @@ jobs: strategy: fail-fast: false matrix: - partition: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25] + partition: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30] steps: - name: Checkout uses: actions/checkout@v4 @@ -427,7 +428,7 @@ jobs: QUICKCHECK_TESTS: 0 run: | rustup toolchain remove nightly-2025-02-20; rustup toolchain remove stable; rustup toolchain remove 1.85.0; - cargo +nightly nextest run --all-features --no-fail-fast --workspace --locked --jobs 2 --partition count:${{ matrix.partition }}/25 + cargo +nightly nextest run --all-features --no-fail-fast --workspace --locked --jobs 1 --partition count:${{ matrix.partition }}/30 test-docs: runs-on: ubuntu-latest @@ -556,7 +557,8 @@ jobs: codecov: runs-on: ubuntu-latest - needs: [set-image, check, fmt, clippy, clippy-examples, dylint-checks, dylint-testing, spellcheck] + needs: [set-image] + # needs: [set-image, check, fmt, clippy, clippy-examples, dylint-checks, dylint-testing, spellcheck] defaults: run: shell: bash @@ -574,56 +576,28 @@ jobs: - name: Cache uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7 with: - cache-directories: | + cache-on-failure: true + cache-directories: | ${{ env.CARGO_TARGET_DIR }} - - name: Codecov + - name: Generate code coverage env: # For codecov it's sufficient to run the fuzz tests only once. QUICKCHECK_TESTS: 1 INK_COVERAGE_REPORTING: true CARGO_INCREMENTAL: 0 - # Needed because `codecov` requires nightly features to work - # (see `-Z` in the `RUSTFLAGS` below). - RUSTC_BOOTSTRAP: 1 - RUSTDOCFLAGS: -Cpanic=abort - # Variables partly came from https://github.com/mozilla/grcov/blob/master/README.md - RUSTFLAGS: -Zmir-opt-level=0 -Ccodegen-units=1 - -Clink-dead-code -Copt-level=0 -Coverflow-checks=off - -Cinstrument-coverage -Zpanic_abort_tests - # The `cargo-tarpaulin` coverage reporting tool seems to have better code instrumentation and thus - # produces better results for Rust codebases in general. However, unlike `grcov` it requires - # running docker with `--security-opt seccomp=unconfined` which is why we use `grcov` instead. - CODECOV_L_TOKEN: ${{ secrets.CODECOV_L_TOKEN }} run: | - df -h rustup toolchain remove nightly-2025-02-20; rustup toolchain remove stable; - rustup toolchain remove nightly; - df -h - # rustup toolchain remove 1.85.0; - # RUSTFLAGS are the cause target cache can't be used here - # FIXME: rust-covfix doesn't support the external target dir - # https://github.com/Kogia-sima/rust-covfix/issues/7 - unset "CARGO_TARGET_DIR" - # cargo +nightly clean - # make sure there are no stale coverage artifacts - find . -name "*.profraw" -type f -delete - find . -name "*.gcda" -type f -delete - # FIXME: Access from 2 users, should be solved once ci-image works from a non-root user - git config --global --add safe.directory '*' - cargo +1.85.0 build --all-features --workspace - cargo +1.85.0 test --all-features --no-fail-fast --workspace --locked -- --skip ui_tests - # coverage with branches - grcov . --binary-path ./target/debug/ --source-dir . --output-type lcov --llvm --branch \ - --ignore-not-existing --ignore "/*" --ignore "tests/*" --output-path lcov-w-branch.info - rust-covfix lcov-w-branch.info --output lcov-w-branch-fixed.info - codecov --token "$CODECOV_L_TOKEN" --file lcov-w-branch-fixed.info --nonZero - # lines coverage - grcov . --binary-path ./target/debug/ --source-dir . --output-type lcov --llvm \ - --ignore-not-existing --ignore "/*" --ignore "tests/*" --output-path lcov-lines.info - rust-covfix lcov-lines.info --output lcov-lines-fixed.info - codecov --token "$CODECOV_L_TOKEN" --file lcov-lines-fixed.info --nonZero + rustup toolchain remove 1.85.0; + cargo +nightly install cargo-tarpaulin + cargo +nightly tarpaulin --verbose --tests --all-features --all-targets --workspace --locked --out xml + + - name: Upload to codecov.io + uses: codecov/codecov-action@v2 + with: + # token: ${{secrets.CODECOV_TOKEN}} # not required for public repos + fail_ci_if_error: true ### examples From 6fa9c0b3935ee34d10c1d0fcf2ee5f438154be9b Mon Sep 17 00:00:00 2001 From: Michael Mueller Date: Sat, 15 Mar 2025 21:21:43 +0100 Subject: [PATCH 08/15] Debug CI --- .github/workflows/ci.yml | 54 ++++++++++++++++++++---------- .github/workflows/measurements.yml | 1 + 2 files changed, 37 insertions(+), 18 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 89b014a2de6..ae8b2aa11ee 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -142,6 +142,7 @@ jobs: uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7 with: cache-directories: ${{ env.CARGO_TARGET_DIR }} + cache-all-crates: true - name: Rust Info uses: ./.github/rust-info @@ -176,6 +177,7 @@ jobs: uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7 with: cache-directories: ${{ env.CARGO_TARGET_DIR }} + cache-all-crates: true - name: Rust Info uses: ./.github/rust-info @@ -214,6 +216,7 @@ jobs: uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7 with: cache-directories: ${{ env.CARGO_TARGET_DIR }} + cache-all-crates: true - name: Rust Info uses: ./.github/rust-info @@ -253,6 +256,7 @@ jobs: uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7 with: cache-directories: ${{ env.CARGO_TARGET_DIR }} + cache-all-crates: true - name: Rust Info uses: ./.github/rust-info @@ -294,6 +298,7 @@ jobs: uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7 with: cache-directories: ${{ env.CARGO_TARGET_DIR }} + cache-all-crates: true - name: Rust Info uses: ./.github/rust-info @@ -330,6 +335,7 @@ jobs: uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7 with: cache-directories: ${{ env.CARGO_TARGET_DIR }} + cache-all-crates: true - name: Rust Info uses: ./.github/rust-info @@ -368,6 +374,7 @@ jobs: uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7 with: cache-directories: ${{ env.CARGO_TARGET_DIR }} + cache-all-crates: true - name: Rust Info uses: ./.github/rust-info @@ -414,8 +421,8 @@ jobs: - name: Cache uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7 with: - cache-directories: | - ${{ env.CARGO_TARGET_DIR }} + cache-directories: ${{ env.CARGO_TARGET_DIR }} + cache-all-crates: true - name: Test env: @@ -451,8 +458,8 @@ jobs: - name: Cache uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7 with: - cache-directories: | - ${{ env.CARGO_TARGET_DIR }} + cache-directories: ${{ env.CARGO_TARGET_DIR }} + cache-all-crates: true - name: Rust Info uses: ./.github/rust-info @@ -496,8 +503,8 @@ jobs: - name: Cache uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7 with: - cache-directories: | - ${{ env.CARGO_TARGET_DIR }} + cache-directories: ${{ env.CARGO_TARGET_DIR }} + cache-all-crates: true - name: Rust Info uses: ./.github/rust-info @@ -533,6 +540,7 @@ jobs: uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7 with: cache-directories: ${{ env.CARGO_TARGET_DIR }} + cache-all-crates: true - name: Rust Info uses: ./.github/rust-info @@ -557,13 +565,16 @@ jobs: codecov: runs-on: ubuntu-latest - needs: [set-image] + #needs: [set-image] + container: + image: xd009642/tarpaulin:develop-nightly + options: --security-opt seccomp=unconfined # needs: [set-image, check, fmt, clippy, clippy-examples, dylint-checks, dylint-testing, spellcheck] defaults: run: shell: bash - container: - image: ${{ needs.set-image.outputs.IMAGE }} + #container: + #image: ${{ needs.set-image.outputs.IMAGE }} steps: - name: Checkout uses: actions/checkout@v4 @@ -576,21 +587,21 @@ jobs: - name: Cache uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7 with: - cache-on-failure: true - cache-directories: | - ${{ env.CARGO_TARGET_DIR }} + cache-on-failure: true + cache-directories: ${{ env.CARGO_TARGET_DIR }} + cache-all-crates: true - name: Generate code coverage env: # For codecov it's sufficient to run the fuzz tests only once. QUICKCHECK_TESTS: 1 INK_COVERAGE_REPORTING: true - CARGO_INCREMENTAL: 0 + #CARGO_INCREMENTAL: 0 run: | - rustup toolchain remove nightly-2025-02-20; - rustup toolchain remove stable; - rustup toolchain remove 1.85.0; - cargo +nightly install cargo-tarpaulin + #rustup toolchain remove nightly-2025-02-20; + #rustup toolchain remove stable; + #rustup toolchain remove 1.85.0; + #cargo +nightly install cargo-tarpaulin cargo +nightly tarpaulin --verbose --tests --all-features --all-targets --workspace --locked --out xml - name: Upload to codecov.io @@ -618,6 +629,7 @@ jobs: uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7 with: cache-directories: ${{ env.CARGO_TARGET_DIR }} + cache-all-crates: true - name: Test Examples uses: docker://useink/ci @@ -648,6 +660,7 @@ jobs: uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7 with: cache-directories: ${{ env.CARGO_TARGET_DIR }} + cache-all-crates: true - name: Rust Info uses: ./.github/rust-info @@ -684,6 +697,7 @@ jobs: uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7 with: cache-directories: ${{ env.CARGO_TARGET_DIR }} + cache-all-crates: true - name: Rust Info uses: ./.github/rust-info @@ -742,6 +756,7 @@ jobs: uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7 with: cache-directories: ${{ env.CARGO_TARGET_DIR }} + cache-all-crates: true - name: Rust Info uses: ./.github/rust-info @@ -778,6 +793,7 @@ jobs: uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7 with: cache-directories: ${{ env.CARGO_TARGET_DIR }} + cache-all-crates: true - name: Rust Info uses: ./.github/rust-info @@ -803,7 +819,8 @@ jobs: fuzz: runs-on: ubuntu-latest - needs: [set-image, examples-docs, examples-contract-build, examples-test, examples-custom-test] + #needs: [set-image, examples-docs, examples-contract-build, examples-test, examples-custom-test] + needs: [set-image] #if: > #github.event_name == 'push' && #github.ref == 'refs/heads/master' @@ -824,6 +841,7 @@ jobs: uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7 with: cache-directories: ${{ env.CARGO_TARGET_DIR }} + cache-all-crates: true - name: Rust Info uses: ./.github/rust-info diff --git a/.github/workflows/measurements.yml b/.github/workflows/measurements.yml index b39e7b8f3c6..61e8cab8d82 100644 --- a/.github/workflows/measurements.yml +++ b/.github/workflows/measurements.yml @@ -37,6 +37,7 @@ jobs: uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7 with: cache-directories: ${{ env.CARGO_TARGET_DIR }} + cache-all-crates: true - name: Rust Info uses: ./.github/rust-info From 5a6ee4d35a1774093c9546a3af5a53acd464c133 Mon Sep 17 00:00:00 2001 From: Michael Mueller Date: Sat, 15 Mar 2025 21:53:06 +0100 Subject: [PATCH 09/15] Split up `contract/pass` ui tests --- .github/workflows/ci.yml | 1 + crates/ink/tests/compile_tests.rs | 13 ++++++++++++- .../pass/{ => constructor}/constructor-aliases.rs | 0 .../{ => constructor}/constructor-many-inputs.rs | 0 .../constructor-non-payable-multiple.rs | 0 .../{ => constructor}/constructor-non-payable.rs | 0 .../constructor-payable-multiple.rs | 0 .../pass/{ => constructor}/constructor-payable.rs | 0 .../constructor-return-result-alias.rs | 0 .../constructor-return-result-cross-contract.rs | 0 .../constructor-return-result-err.rs | 0 .../constructor-return-result-explicit.rs | 0 .../constructor-return-result-ok.rs | 0 .../pass/{ => constructor}/constructor-selector.rs | 0 .../constructor-wildcard-selector.rs | 0 .../pass/{ => message}/message-checked-variant.rs | 0 .../{ => message}/message-encoding-inputs-sol.rs | 0 .../pass/{ => message}/message-many-inputs.rs | 0 .../pass/{ => message}/message-many-outputs.rs | 0 .../contract/pass/{ => message}/message-payable.rs | 0 .../{ => message}/message-selector-encoding-all.rs | 0 .../message-selector-encoding-sol-args.rs | 0 .../{ => message}/message-selector-encoding-sol.rs | 0 .../contract/pass/{ => message}/message-selector.rs | 0 .../pass/{ => message}/message-wildcard-selector.rs | 0 25 files changed, 13 insertions(+), 1 deletion(-) rename crates/ink/tests/ui/contract/pass/{ => constructor}/constructor-aliases.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => constructor}/constructor-many-inputs.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => constructor}/constructor-non-payable-multiple.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => constructor}/constructor-non-payable.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => constructor}/constructor-payable-multiple.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => constructor}/constructor-payable.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => constructor}/constructor-return-result-alias.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => constructor}/constructor-return-result-cross-contract.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => constructor}/constructor-return-result-err.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => constructor}/constructor-return-result-explicit.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => constructor}/constructor-return-result-ok.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => constructor}/constructor-selector.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => constructor}/constructor-wildcard-selector.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => message}/message-checked-variant.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => message}/message-encoding-inputs-sol.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => message}/message-many-inputs.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => message}/message-many-outputs.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => message}/message-payable.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => message}/message-selector-encoding-all.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => message}/message-selector-encoding-sol-args.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => message}/message-selector-encoding-sol.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => message}/message-selector.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => message}/message-wildcard-selector.rs (100%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ae8b2aa11ee..325111b8ea0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -602,6 +602,7 @@ jobs: #rustup toolchain remove stable; #rustup toolchain remove 1.85.0; #cargo +nightly install cargo-tarpaulin + curl cargo +nightly tarpaulin --verbose --tests --all-features --all-targets --workspace --locked --out xml - name: Upload to codecov.io diff --git a/crates/ink/tests/compile_tests.rs b/crates/ink/tests/compile_tests.rs index a73865cbebd..583ab576f92 100644 --- a/crates/ink/tests/compile_tests.rs +++ b/crates/ink/tests/compile_tests.rs @@ -51,10 +51,21 @@ fn ui_tests_selector_bytes_fail() { #[test] fn ui_tests_contract_pass() { let t = trybuild::TestCases::new(); - t.pass("tests/ui/contract/pass/*.rs"); } +#[test] +fn ui_tests_contract_constructor_pass() { + let t = trybuild::TestCases::new(); + t.pass("tests/ui/contract/pass/constructor/*.rs"); +} + +#[test] +fn ui_tests_contract_message_pass() { + let t = trybuild::TestCases::new(); + t.pass("tests/ui/contract/pass/message/*.rs"); +} + #[test] fn ui_tests_contract_fail() { let t = trybuild::TestCases::new(); diff --git a/crates/ink/tests/ui/contract/pass/constructor-aliases.rs b/crates/ink/tests/ui/contract/pass/constructor/constructor-aliases.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/constructor-aliases.rs rename to crates/ink/tests/ui/contract/pass/constructor/constructor-aliases.rs diff --git a/crates/ink/tests/ui/contract/pass/constructor-many-inputs.rs b/crates/ink/tests/ui/contract/pass/constructor/constructor-many-inputs.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/constructor-many-inputs.rs rename to crates/ink/tests/ui/contract/pass/constructor/constructor-many-inputs.rs diff --git a/crates/ink/tests/ui/contract/pass/constructor-non-payable-multiple.rs b/crates/ink/tests/ui/contract/pass/constructor/constructor-non-payable-multiple.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/constructor-non-payable-multiple.rs rename to crates/ink/tests/ui/contract/pass/constructor/constructor-non-payable-multiple.rs diff --git a/crates/ink/tests/ui/contract/pass/constructor-non-payable.rs b/crates/ink/tests/ui/contract/pass/constructor/constructor-non-payable.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/constructor-non-payable.rs rename to crates/ink/tests/ui/contract/pass/constructor/constructor-non-payable.rs diff --git a/crates/ink/tests/ui/contract/pass/constructor-payable-multiple.rs b/crates/ink/tests/ui/contract/pass/constructor/constructor-payable-multiple.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/constructor-payable-multiple.rs rename to crates/ink/tests/ui/contract/pass/constructor/constructor-payable-multiple.rs diff --git a/crates/ink/tests/ui/contract/pass/constructor-payable.rs b/crates/ink/tests/ui/contract/pass/constructor/constructor-payable.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/constructor-payable.rs rename to crates/ink/tests/ui/contract/pass/constructor/constructor-payable.rs diff --git a/crates/ink/tests/ui/contract/pass/constructor-return-result-alias.rs b/crates/ink/tests/ui/contract/pass/constructor/constructor-return-result-alias.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/constructor-return-result-alias.rs rename to crates/ink/tests/ui/contract/pass/constructor/constructor-return-result-alias.rs diff --git a/crates/ink/tests/ui/contract/pass/constructor-return-result-cross-contract.rs b/crates/ink/tests/ui/contract/pass/constructor/constructor-return-result-cross-contract.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/constructor-return-result-cross-contract.rs rename to crates/ink/tests/ui/contract/pass/constructor/constructor-return-result-cross-contract.rs diff --git a/crates/ink/tests/ui/contract/pass/constructor-return-result-err.rs b/crates/ink/tests/ui/contract/pass/constructor/constructor-return-result-err.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/constructor-return-result-err.rs rename to crates/ink/tests/ui/contract/pass/constructor/constructor-return-result-err.rs diff --git a/crates/ink/tests/ui/contract/pass/constructor-return-result-explicit.rs b/crates/ink/tests/ui/contract/pass/constructor/constructor-return-result-explicit.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/constructor-return-result-explicit.rs rename to crates/ink/tests/ui/contract/pass/constructor/constructor-return-result-explicit.rs diff --git a/crates/ink/tests/ui/contract/pass/constructor-return-result-ok.rs b/crates/ink/tests/ui/contract/pass/constructor/constructor-return-result-ok.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/constructor-return-result-ok.rs rename to crates/ink/tests/ui/contract/pass/constructor/constructor-return-result-ok.rs diff --git a/crates/ink/tests/ui/contract/pass/constructor-selector.rs b/crates/ink/tests/ui/contract/pass/constructor/constructor-selector.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/constructor-selector.rs rename to crates/ink/tests/ui/contract/pass/constructor/constructor-selector.rs diff --git a/crates/ink/tests/ui/contract/pass/constructor-wildcard-selector.rs b/crates/ink/tests/ui/contract/pass/constructor/constructor-wildcard-selector.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/constructor-wildcard-selector.rs rename to crates/ink/tests/ui/contract/pass/constructor/constructor-wildcard-selector.rs diff --git a/crates/ink/tests/ui/contract/pass/message-checked-variant.rs b/crates/ink/tests/ui/contract/pass/message/message-checked-variant.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/message-checked-variant.rs rename to crates/ink/tests/ui/contract/pass/message/message-checked-variant.rs diff --git a/crates/ink/tests/ui/contract/pass/message-encoding-inputs-sol.rs b/crates/ink/tests/ui/contract/pass/message/message-encoding-inputs-sol.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/message-encoding-inputs-sol.rs rename to crates/ink/tests/ui/contract/pass/message/message-encoding-inputs-sol.rs diff --git a/crates/ink/tests/ui/contract/pass/message-many-inputs.rs b/crates/ink/tests/ui/contract/pass/message/message-many-inputs.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/message-many-inputs.rs rename to crates/ink/tests/ui/contract/pass/message/message-many-inputs.rs diff --git a/crates/ink/tests/ui/contract/pass/message-many-outputs.rs b/crates/ink/tests/ui/contract/pass/message/message-many-outputs.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/message-many-outputs.rs rename to crates/ink/tests/ui/contract/pass/message/message-many-outputs.rs diff --git a/crates/ink/tests/ui/contract/pass/message-payable.rs b/crates/ink/tests/ui/contract/pass/message/message-payable.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/message-payable.rs rename to crates/ink/tests/ui/contract/pass/message/message-payable.rs diff --git a/crates/ink/tests/ui/contract/pass/message-selector-encoding-all.rs b/crates/ink/tests/ui/contract/pass/message/message-selector-encoding-all.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/message-selector-encoding-all.rs rename to crates/ink/tests/ui/contract/pass/message/message-selector-encoding-all.rs diff --git a/crates/ink/tests/ui/contract/pass/message-selector-encoding-sol-args.rs b/crates/ink/tests/ui/contract/pass/message/message-selector-encoding-sol-args.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/message-selector-encoding-sol-args.rs rename to crates/ink/tests/ui/contract/pass/message/message-selector-encoding-sol-args.rs diff --git a/crates/ink/tests/ui/contract/pass/message-selector-encoding-sol.rs b/crates/ink/tests/ui/contract/pass/message/message-selector-encoding-sol.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/message-selector-encoding-sol.rs rename to crates/ink/tests/ui/contract/pass/message/message-selector-encoding-sol.rs diff --git a/crates/ink/tests/ui/contract/pass/message-selector.rs b/crates/ink/tests/ui/contract/pass/message/message-selector.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/message-selector.rs rename to crates/ink/tests/ui/contract/pass/message/message-selector.rs diff --git a/crates/ink/tests/ui/contract/pass/message-wildcard-selector.rs b/crates/ink/tests/ui/contract/pass/message/message-wildcard-selector.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/message-wildcard-selector.rs rename to crates/ink/tests/ui/contract/pass/message/message-wildcard-selector.rs From 90d6209d4aaf5d055dac58c427ec9b5bb7c66e25 Mon Sep 17 00:00:00 2001 From: Michael Mueller Date: Mon, 17 Mar 2025 09:11:47 +0100 Subject: [PATCH 10/15] Revert me: comment out codecov + size measurements --- .github/workflows/ci.yml | 106 ++++++++++++++++++++------------------- 1 file changed, 54 insertions(+), 52 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 325111b8ea0..5f5ee8f57c4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -563,53 +563,54 @@ jobs: path: ./crate-docs retention-days: 1 - codecov: - runs-on: ubuntu-latest - #needs: [set-image] - container: - image: xd009642/tarpaulin:develop-nightly - options: --security-opt seccomp=unconfined - # needs: [set-image, check, fmt, clippy, clippy-examples, dylint-checks, dylint-testing, spellcheck] - defaults: - run: - shell: bash - #container: - #image: ${{ needs.set-image.outputs.IMAGE }} - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Rust Info - uses: ./.github/rust-info - - - name: Cache - uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7 - with: - cache-on-failure: true - cache-directories: ${{ env.CARGO_TARGET_DIR }} - cache-all-crates: true - - - name: Generate code coverage - env: - # For codecov it's sufficient to run the fuzz tests only once. - QUICKCHECK_TESTS: 1 - INK_COVERAGE_REPORTING: true - #CARGO_INCREMENTAL: 0 - run: | - #rustup toolchain remove nightly-2025-02-20; - #rustup toolchain remove stable; - #rustup toolchain remove 1.85.0; - #cargo +nightly install cargo-tarpaulin - curl - cargo +nightly tarpaulin --verbose --tests --all-features --all-targets --workspace --locked --out xml - - - name: Upload to codecov.io - uses: codecov/codecov-action@v2 - with: - # token: ${{secrets.CODECOV_TOKEN}} # not required for public repos - fail_ci_if_error: true +# todo bring this stage back +# codecov: +# runs-on: ubuntu-latest +# #needs: [set-image] +# container: +# image: xd009642/tarpaulin:develop-nightly +# options: --security-opt seccomp=unconfined +# # needs: [set-image, check, fmt, clippy, clippy-examples, dylint-checks, dylint-testing, spellcheck] +# defaults: +# run: +# shell: bash +# #container: +# #image: ${{ needs.set-image.outputs.IMAGE }} +# steps: +# - name: Checkout +# uses: actions/checkout@v4 +# with: +# fetch-depth: 0 +# +# - name: Rust Info +# uses: ./.github/rust-info +# +# - name: Cache +# uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7 +# with: +# cache-on-failure: true +# cache-directories: ${{ env.CARGO_TARGET_DIR }} +# cache-all-crates: true +# +# - name: Generate code coverage +# env: +# # For codecov it's sufficient to run the fuzz tests only once. +# QUICKCHECK_TESTS: 1 +# INK_COVERAGE_REPORTING: true +# #CARGO_INCREMENTAL: 0 +# run: | +# #rustup toolchain remove nightly-2025-02-20; +# #rustup toolchain remove stable; +# #rustup toolchain remove 1.85.0; +# #cargo +nightly install cargo-tarpaulin +# curl +# cargo +nightly tarpaulin --verbose --tests --all-features --all-targets --workspace --locked --out xml +# +# - name: Upload to codecov.io +# uses: codecov/codecov-action@v2 +# with: +# # token: ${{secrets.CODECOV_TOKEN}} # not required for public repos +# fail_ci_if_error: true ### examples @@ -811,11 +812,12 @@ jobs: --document-private-items --no-deps # measurements - - measurements: - needs: [examples-docs, examples-contract-build, examples-test, examples-custom-test, examples-test-mapping] - uses: ./.github/workflows/measurements.yml - +# +# todo bring this stage back +# measurements: +# needs: [examples-docs, examples-contract-build, examples-test, examples-custom-test, examples-test-mapping] +# uses: ./.github/workflows/measurements.yml +# # fuzz fuzz: From 00c462e275c049b15088d0eee471ef2c3ac23423 Mon Sep 17 00:00:00 2001 From: Michael Mueller Date: Mon, 17 Mar 2025 09:52:18 +0100 Subject: [PATCH 11/15] Split ui tests into more `#[tests]` --- .github/workflows/ci.yml | 7 +++- crates/ink/tests/compile_tests.rs | 42 +++++++++++++++++++ .../fail/{ => cfg}/cfg-forbidden-usage-01.rs | 0 .../{ => cfg}/cfg-forbidden-usage-01.stderr | 0 .../fail/{ => cfg}/cfg-forbidden-usage-02.rs | 0 .../{ => cfg}/cfg-forbidden-usage-02.stderr | 0 .../fail/{ => cfg}/cfg-forbidden-usage-03.rs | 0 .../{ => cfg}/cfg-forbidden-usage-03.stderr | 0 .../fail/{ => cfg}/cfg-forbidden-usage-04.rs | 0 .../{ => cfg}/cfg-forbidden-usage-04.stderr | 0 .../fail/{ => cfg}/cfg-forbidden-usage-05.rs | 0 .../{ => cfg}/cfg-forbidden-usage-05.stderr | 0 .../fail/{ => cfg}/cfg-forbidden-usage-06.rs | 0 .../{ => cfg}/cfg-forbidden-usage-06.stderr | 0 .../config-keep-attr-invalid-type.rs | 0 .../config-keep-attr-invalid-type.stderr | 0 .../{ => cfg}/config-keep-attr-missing-arg.rs | 0 .../config-keep-attr-missing-arg.stderr | 0 .../fail/{ => constructor}/constructor-abi.rs | 0 .../{ => constructor}/constructor-abi.stderr | 0 .../{ => constructor}/constructor-async.rs | 0 .../constructor-async.stderr | 0 .../{ => constructor}/constructor-const.rs | 0 .../constructor-const.stderr | 0 .../constructor-input-non-codec.rs | 0 .../constructor-input-non-codec.stderr | 0 .../constructor-input-pattern.rs | 0 .../constructor-input-pattern.stderr | 0 .../constructor-missing-return.rs | 0 .../constructor-missing-return.stderr | 0 ...constructor-multiple-wildcard-selectors.rs | 0 ...tructor-multiple-wildcard-selectors.stderr | 0 .../constructor-payable-invalid-1.rs | 0 .../constructor-payable-invalid-1.stderr | 0 .../constructor-payable-invalid-2.rs | 0 .../constructor-payable-invalid-2.stderr | 0 .../constructor-return-result-invalid.rs | 0 .../constructor-return-result-invalid.stderr | 0 ...nstructor-return-result-non-codec-error.rs | 0 ...uctor-return-result-non-codec-error.stderr | 0 ...structor-selector-and-wildcard-selector.rs | 0 ...ctor-selector-and-wildcard-selector.stderr | 0 .../constructor-self-receiver-01.rs | 0 .../constructor-self-receiver-01.stderr | 0 .../constructor-self-receiver-02.rs | 0 .../constructor-self-receiver-02.stderr | 0 .../constructor-self-receiver-03.rs | 0 .../constructor-self-receiver-03.stderr | 0 .../constructor-self-receiver-04.rs | 0 .../constructor-self-receiver-04.stderr | 0 .../{ => constructor}/constructor-unsafe.rs | 0 .../constructor-unsafe.stderr | 0 .../impl-block-for-non-storage-01.rs | 0 .../impl-block-for-non-storage-01.stderr | 0 .../impl-block-for-non-storage-02.rs | 0 .../impl-block-for-non-storage-02.stderr | 0 ...impl-block-namespace-invalid-identifier.rs | 0 ...-block-namespace-invalid-identifier.stderr | 0 .../impl-block-namespace-invalid-type.rs | 0 .../impl-block-namespace-invalid-type.stderr | 0 .../impl-block-namespace-missing-argument.rs | 0 ...pl-block-namespace-missing-argument.stderr | 0 .../impl-block-using-env-no-marker.rs | 0 .../impl-block-using-env-no-marker.stderr | 0 .../impl-block-using-static-env-no-marker.rs | 0 ...pl-block-using-static-env-no-marker.stderr | 0 .../fail/{ => message}/message-hygiene-try.rs | 0 .../{ => message}/message-hygiene-try.stderr | 0 .../{ => message}/message-input-non-codec.rs | 0 .../message-input-non-codec.stderr | 0 .../{ => message}/message-input-pattern.rs | 0 .../message-input-pattern.stderr | 0 .../message-multiple-wildcard-selectors.rs | 0 ...message-multiple-wildcard-selectors.stderr | 0 .../message-returns-non-codec.rs | 0 .../message-returns-non-codec.stderr | 0 .../{ => message}/message-returns-self.rs | 0 .../{ => message}/message-returns-self.stderr | 0 .../message-selector-and-wildcard-selector.rs | 0 ...sage-selector-and-wildcard-selector.stderr | 0 .../message-selector-invalid-type-01.rs | 0 .../message-selector-invalid-type-01.stderr | 0 .../message-selector-invalid-type-02.rs | 0 .../message-selector-invalid-type-02.stderr | 0 .../message-selector-missing-arg.rs | 0 .../message-selector-missing-arg.stderr | 0 .../message-selector-overlap-sol.rs | 0 .../message-selector-overlap-sol.stderr | 0 .../message-self-receiver-invalid-01.rs | 0 .../message-self-receiver-invalid-01.stderr | 0 .../message-self-receiver-invalid-02.rs | 0 .../message-self-receiver-invalid-02.stderr | 0 .../message-self-receiver-invalid-03.rs | 0 .../message-self-receiver-invalid-03.stderr | 0 .../message-self-receiver-missing.rs | 0 .../message-self-receiver-missing.stderr | 0 .../{ => message}/message-unknown-property.rs | 0 .../message-unknown-property.stderr | 0 .../trait-impl-namespace-invalid.rs | 0 .../trait-impl-namespace-invalid.stderr | 0 .../trait-message-payable-mismatch.rs | 0 .../trait-message-payable-mismatch.stderr | 0 .../trait-message-selector-mismatch.rs | 0 .../trait-message-selector-mismatch.stderr | 0 .../trait-message-selector-overlap-1.rs | 0 .../trait-message-selector-overlap-1.stderr | 0 .../trait-message-selector-overlap-2.rs | 0 .../trait-message-selector-overlap-2.stderr | 0 .../trait-message-selector-overlap-3.rs | 0 .../trait-message-selector-overlap-3.stderr | 0 .../trait-message-selector-overlap-sol.rs | 0 .../trait-message-selector-overlap-sol.stderr | 0 .../trait-message-wildcard-selector.rs | 0 .../trait-message-wildcard-selector.stderr | 0 .../pass/{ => event}/event-anonymous.rs | 0 .../{ => event}/event-config-more-topics.rs | 0 .../{ => event}/event-many-definitions.rs | 0 .../{ => event}/event-single-definition.rs | 0 .../contract/pass/{ => event}/event-topics.rs | 0 .../pass/{ => example}/example-erc20-works.rs | 0 .../{ => example}/example-erc721-works.rs | 0 .../{ => example}/example-flipper-works.rs | 0 .../example-incrementer-works.rs | 0 .../{ => example}/example-return-err-works.rs | 0 .../example-trait-flipper-works.rs | 0 .../example-trait-incrementer-works.rs | 0 126 files changed, 47 insertions(+), 2 deletions(-) rename crates/ink/tests/ui/contract/fail/{ => cfg}/cfg-forbidden-usage-01.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => cfg}/cfg-forbidden-usage-01.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => cfg}/cfg-forbidden-usage-02.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => cfg}/cfg-forbidden-usage-02.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => cfg}/cfg-forbidden-usage-03.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => cfg}/cfg-forbidden-usage-03.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => cfg}/cfg-forbidden-usage-04.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => cfg}/cfg-forbidden-usage-04.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => cfg}/cfg-forbidden-usage-05.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => cfg}/cfg-forbidden-usage-05.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => cfg}/cfg-forbidden-usage-06.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => cfg}/cfg-forbidden-usage-06.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => cfg}/config-keep-attr-invalid-type.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => cfg}/config-keep-attr-invalid-type.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => cfg}/config-keep-attr-missing-arg.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => cfg}/config-keep-attr-missing-arg.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-abi.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-abi.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-async.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-async.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-const.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-const.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-input-non-codec.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-input-non-codec.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-input-pattern.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-input-pattern.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-missing-return.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-missing-return.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-multiple-wildcard-selectors.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-multiple-wildcard-selectors.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-payable-invalid-1.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-payable-invalid-1.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-payable-invalid-2.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-payable-invalid-2.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-return-result-invalid.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-return-result-invalid.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-return-result-non-codec-error.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-return-result-non-codec-error.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-selector-and-wildcard-selector.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-selector-and-wildcard-selector.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-self-receiver-01.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-self-receiver-01.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-self-receiver-02.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-self-receiver-02.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-self-receiver-03.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-self-receiver-03.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-self-receiver-04.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-self-receiver-04.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-unsafe.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => constructor}/constructor-unsafe.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => impl}/impl-block-for-non-storage-01.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => impl}/impl-block-for-non-storage-01.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => impl}/impl-block-for-non-storage-02.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => impl}/impl-block-for-non-storage-02.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => impl}/impl-block-namespace-invalid-identifier.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => impl}/impl-block-namespace-invalid-identifier.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => impl}/impl-block-namespace-invalid-type.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => impl}/impl-block-namespace-invalid-type.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => impl}/impl-block-namespace-missing-argument.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => impl}/impl-block-namespace-missing-argument.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => impl}/impl-block-using-env-no-marker.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => impl}/impl-block-using-env-no-marker.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => impl}/impl-block-using-static-env-no-marker.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => impl}/impl-block-using-static-env-no-marker.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-hygiene-try.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-hygiene-try.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-input-non-codec.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-input-non-codec.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-input-pattern.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-input-pattern.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-multiple-wildcard-selectors.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-multiple-wildcard-selectors.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-returns-non-codec.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-returns-non-codec.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-returns-self.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-returns-self.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-selector-and-wildcard-selector.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-selector-and-wildcard-selector.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-selector-invalid-type-01.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-selector-invalid-type-01.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-selector-invalid-type-02.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-selector-invalid-type-02.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-selector-missing-arg.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-selector-missing-arg.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-selector-overlap-sol.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-selector-overlap-sol.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-self-receiver-invalid-01.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-self-receiver-invalid-01.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-self-receiver-invalid-02.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-self-receiver-invalid-02.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-self-receiver-invalid-03.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-self-receiver-invalid-03.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-self-receiver-missing.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-self-receiver-missing.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-unknown-property.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => message}/message-unknown-property.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => trait}/trait-impl-namespace-invalid.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => trait}/trait-impl-namespace-invalid.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => trait}/trait-message-payable-mismatch.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => trait}/trait-message-payable-mismatch.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => trait}/trait-message-selector-mismatch.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => trait}/trait-message-selector-mismatch.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => trait}/trait-message-selector-overlap-1.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => trait}/trait-message-selector-overlap-1.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => trait}/trait-message-selector-overlap-2.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => trait}/trait-message-selector-overlap-2.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => trait}/trait-message-selector-overlap-3.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => trait}/trait-message-selector-overlap-3.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => trait}/trait-message-selector-overlap-sol.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => trait}/trait-message-selector-overlap-sol.stderr (100%) rename crates/ink/tests/ui/contract/fail/{ => trait}/trait-message-wildcard-selector.rs (100%) rename crates/ink/tests/ui/contract/fail/{ => trait}/trait-message-wildcard-selector.stderr (100%) rename crates/ink/tests/ui/contract/pass/{ => event}/event-anonymous.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => event}/event-config-more-topics.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => event}/event-many-definitions.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => event}/event-single-definition.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => event}/event-topics.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => example}/example-erc20-works.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => example}/example-erc721-works.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => example}/example-flipper-works.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => example}/example-incrementer-works.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => example}/example-return-err-works.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => example}/example-trait-flipper-works.rs (100%) rename crates/ink/tests/ui/contract/pass/{ => example}/example-trait-incrementer-works.rs (100%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5f5ee8f57c4..fe501c52b49 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -401,6 +401,8 @@ jobs: test: runs-on: ubuntu-latest + # todo bring back more needs, so that we only run this `tests` stage + # if pre-conditions are filled. # needs: [set-image, check] needs: [set-image] defaults: @@ -812,16 +814,17 @@ jobs: --document-private-items --no-deps # measurements -# # todo bring this stage back # measurements: # needs: [examples-docs, examples-contract-build, examples-test, examples-custom-test, examples-test-mapping] # uses: ./.github/workflows/measurements.yml # -# fuzz +# fuzz fuzz: runs-on: ubuntu-latest + # todo bring back more needs, so that we only run this `fuzz` stage + # if pre-conditions are filled. #needs: [set-image, examples-docs, examples-contract-build, examples-test, examples-custom-test] needs: [set-image] #if: > diff --git a/crates/ink/tests/compile_tests.rs b/crates/ink/tests/compile_tests.rs index 583ab576f92..378795c7d37 100644 --- a/crates/ink/tests/compile_tests.rs +++ b/crates/ink/tests/compile_tests.rs @@ -66,12 +66,54 @@ fn ui_tests_contract_message_pass() { t.pass("tests/ui/contract/pass/message/*.rs"); } +#[test] +fn ui_tests_contract_example_pass() { + let t = trybuild::TestCases::new(); + t.pass("tests/ui/contract/pass/example/*.rs"); +} + +#[test] +fn ui_tests_contract_event_pass() { + let t = trybuild::TestCases::new(); + t.pass("tests/ui/contract/pass/event/*.rs"); +} + #[test] fn ui_tests_contract_fail() { let t = trybuild::TestCases::new(); t.compile_fail("tests/ui/contract/fail/*.rs"); } +#[test] +fn ui_tests_contract_cfg_fail() { + let t = trybuild::TestCases::new(); + t.compile_fail("tests/ui/contract/fail/cfg/*.rs"); +} + +#[test] +fn ui_tests_contract_constructor_fail() { + let t = trybuild::TestCases::new(); + t.compile_fail("tests/ui/contract/fail/constructor/*.rs"); +} + +#[test] +fn ui_tests_contract_impl_fail() { + let t = trybuild::TestCases::new(); + t.compile_fail("tests/ui/contract/fail/impl/*.rs"); +} + +#[test] +fn ui_tests_contract_message_fail() { + let t = trybuild::TestCases::new(); + t.compile_fail("tests/ui/contract/fail/message/*.rs"); +} + +#[test] +fn ui_tests_contract_trait_fail() { + let t = trybuild::TestCases::new(); + t.compile_fail("tests/ui/contract/fail/trait/*.rs"); +} + #[test] fn ui_tests_event_pass() { let t = trybuild::TestCases::new(); diff --git a/crates/ink/tests/ui/contract/fail/cfg-forbidden-usage-01.rs b/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-01.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/cfg-forbidden-usage-01.rs rename to crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-01.rs diff --git a/crates/ink/tests/ui/contract/fail/cfg-forbidden-usage-01.stderr b/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-01.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/cfg-forbidden-usage-01.stderr rename to crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-01.stderr diff --git a/crates/ink/tests/ui/contract/fail/cfg-forbidden-usage-02.rs b/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-02.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/cfg-forbidden-usage-02.rs rename to crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-02.rs diff --git a/crates/ink/tests/ui/contract/fail/cfg-forbidden-usage-02.stderr b/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-02.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/cfg-forbidden-usage-02.stderr rename to crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-02.stderr diff --git a/crates/ink/tests/ui/contract/fail/cfg-forbidden-usage-03.rs b/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-03.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/cfg-forbidden-usage-03.rs rename to crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-03.rs diff --git a/crates/ink/tests/ui/contract/fail/cfg-forbidden-usage-03.stderr b/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-03.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/cfg-forbidden-usage-03.stderr rename to crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-03.stderr diff --git a/crates/ink/tests/ui/contract/fail/cfg-forbidden-usage-04.rs b/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-04.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/cfg-forbidden-usage-04.rs rename to crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-04.rs diff --git a/crates/ink/tests/ui/contract/fail/cfg-forbidden-usage-04.stderr b/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-04.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/cfg-forbidden-usage-04.stderr rename to crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-04.stderr diff --git a/crates/ink/tests/ui/contract/fail/cfg-forbidden-usage-05.rs b/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-05.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/cfg-forbidden-usage-05.rs rename to crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-05.rs diff --git a/crates/ink/tests/ui/contract/fail/cfg-forbidden-usage-05.stderr b/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-05.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/cfg-forbidden-usage-05.stderr rename to crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-05.stderr diff --git a/crates/ink/tests/ui/contract/fail/cfg-forbidden-usage-06.rs b/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-06.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/cfg-forbidden-usage-06.rs rename to crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-06.rs diff --git a/crates/ink/tests/ui/contract/fail/cfg-forbidden-usage-06.stderr b/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-06.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/cfg-forbidden-usage-06.stderr rename to crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-06.stderr diff --git a/crates/ink/tests/ui/contract/fail/config-keep-attr-invalid-type.rs b/crates/ink/tests/ui/contract/fail/cfg/config-keep-attr-invalid-type.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/config-keep-attr-invalid-type.rs rename to crates/ink/tests/ui/contract/fail/cfg/config-keep-attr-invalid-type.rs diff --git a/crates/ink/tests/ui/contract/fail/config-keep-attr-invalid-type.stderr b/crates/ink/tests/ui/contract/fail/cfg/config-keep-attr-invalid-type.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/config-keep-attr-invalid-type.stderr rename to crates/ink/tests/ui/contract/fail/cfg/config-keep-attr-invalid-type.stderr diff --git a/crates/ink/tests/ui/contract/fail/config-keep-attr-missing-arg.rs b/crates/ink/tests/ui/contract/fail/cfg/config-keep-attr-missing-arg.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/config-keep-attr-missing-arg.rs rename to crates/ink/tests/ui/contract/fail/cfg/config-keep-attr-missing-arg.rs diff --git a/crates/ink/tests/ui/contract/fail/config-keep-attr-missing-arg.stderr b/crates/ink/tests/ui/contract/fail/cfg/config-keep-attr-missing-arg.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/config-keep-attr-missing-arg.stderr rename to crates/ink/tests/ui/contract/fail/cfg/config-keep-attr-missing-arg.stderr diff --git a/crates/ink/tests/ui/contract/fail/constructor-abi.rs b/crates/ink/tests/ui/contract/fail/constructor/constructor-abi.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-abi.rs rename to crates/ink/tests/ui/contract/fail/constructor/constructor-abi.rs diff --git a/crates/ink/tests/ui/contract/fail/constructor-abi.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-abi.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-abi.stderr rename to crates/ink/tests/ui/contract/fail/constructor/constructor-abi.stderr diff --git a/crates/ink/tests/ui/contract/fail/constructor-async.rs b/crates/ink/tests/ui/contract/fail/constructor/constructor-async.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-async.rs rename to crates/ink/tests/ui/contract/fail/constructor/constructor-async.rs diff --git a/crates/ink/tests/ui/contract/fail/constructor-async.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-async.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-async.stderr rename to crates/ink/tests/ui/contract/fail/constructor/constructor-async.stderr diff --git a/crates/ink/tests/ui/contract/fail/constructor-const.rs b/crates/ink/tests/ui/contract/fail/constructor/constructor-const.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-const.rs rename to crates/ink/tests/ui/contract/fail/constructor/constructor-const.rs diff --git a/crates/ink/tests/ui/contract/fail/constructor-const.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-const.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-const.stderr rename to crates/ink/tests/ui/contract/fail/constructor/constructor-const.stderr diff --git a/crates/ink/tests/ui/contract/fail/constructor-input-non-codec.rs b/crates/ink/tests/ui/contract/fail/constructor/constructor-input-non-codec.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-input-non-codec.rs rename to crates/ink/tests/ui/contract/fail/constructor/constructor-input-non-codec.rs diff --git a/crates/ink/tests/ui/contract/fail/constructor-input-non-codec.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-input-non-codec.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-input-non-codec.stderr rename to crates/ink/tests/ui/contract/fail/constructor/constructor-input-non-codec.stderr diff --git a/crates/ink/tests/ui/contract/fail/constructor-input-pattern.rs b/crates/ink/tests/ui/contract/fail/constructor/constructor-input-pattern.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-input-pattern.rs rename to crates/ink/tests/ui/contract/fail/constructor/constructor-input-pattern.rs diff --git a/crates/ink/tests/ui/contract/fail/constructor-input-pattern.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-input-pattern.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-input-pattern.stderr rename to crates/ink/tests/ui/contract/fail/constructor/constructor-input-pattern.stderr diff --git a/crates/ink/tests/ui/contract/fail/constructor-missing-return.rs b/crates/ink/tests/ui/contract/fail/constructor/constructor-missing-return.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-missing-return.rs rename to crates/ink/tests/ui/contract/fail/constructor/constructor-missing-return.rs diff --git a/crates/ink/tests/ui/contract/fail/constructor-missing-return.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-missing-return.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-missing-return.stderr rename to crates/ink/tests/ui/contract/fail/constructor/constructor-missing-return.stderr diff --git a/crates/ink/tests/ui/contract/fail/constructor-multiple-wildcard-selectors.rs b/crates/ink/tests/ui/contract/fail/constructor/constructor-multiple-wildcard-selectors.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-multiple-wildcard-selectors.rs rename to crates/ink/tests/ui/contract/fail/constructor/constructor-multiple-wildcard-selectors.rs diff --git a/crates/ink/tests/ui/contract/fail/constructor-multiple-wildcard-selectors.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-multiple-wildcard-selectors.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-multiple-wildcard-selectors.stderr rename to crates/ink/tests/ui/contract/fail/constructor/constructor-multiple-wildcard-selectors.stderr diff --git a/crates/ink/tests/ui/contract/fail/constructor-payable-invalid-1.rs b/crates/ink/tests/ui/contract/fail/constructor/constructor-payable-invalid-1.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-payable-invalid-1.rs rename to crates/ink/tests/ui/contract/fail/constructor/constructor-payable-invalid-1.rs diff --git a/crates/ink/tests/ui/contract/fail/constructor-payable-invalid-1.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-payable-invalid-1.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-payable-invalid-1.stderr rename to crates/ink/tests/ui/contract/fail/constructor/constructor-payable-invalid-1.stderr diff --git a/crates/ink/tests/ui/contract/fail/constructor-payable-invalid-2.rs b/crates/ink/tests/ui/contract/fail/constructor/constructor-payable-invalid-2.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-payable-invalid-2.rs rename to crates/ink/tests/ui/contract/fail/constructor/constructor-payable-invalid-2.rs diff --git a/crates/ink/tests/ui/contract/fail/constructor-payable-invalid-2.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-payable-invalid-2.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-payable-invalid-2.stderr rename to crates/ink/tests/ui/contract/fail/constructor/constructor-payable-invalid-2.stderr diff --git a/crates/ink/tests/ui/contract/fail/constructor-return-result-invalid.rs b/crates/ink/tests/ui/contract/fail/constructor/constructor-return-result-invalid.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-return-result-invalid.rs rename to crates/ink/tests/ui/contract/fail/constructor/constructor-return-result-invalid.rs diff --git a/crates/ink/tests/ui/contract/fail/constructor-return-result-invalid.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-return-result-invalid.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-return-result-invalid.stderr rename to crates/ink/tests/ui/contract/fail/constructor/constructor-return-result-invalid.stderr diff --git a/crates/ink/tests/ui/contract/fail/constructor-return-result-non-codec-error.rs b/crates/ink/tests/ui/contract/fail/constructor/constructor-return-result-non-codec-error.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-return-result-non-codec-error.rs rename to crates/ink/tests/ui/contract/fail/constructor/constructor-return-result-non-codec-error.rs diff --git a/crates/ink/tests/ui/contract/fail/constructor-return-result-non-codec-error.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-return-result-non-codec-error.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-return-result-non-codec-error.stderr rename to crates/ink/tests/ui/contract/fail/constructor/constructor-return-result-non-codec-error.stderr diff --git a/crates/ink/tests/ui/contract/fail/constructor-selector-and-wildcard-selector.rs b/crates/ink/tests/ui/contract/fail/constructor/constructor-selector-and-wildcard-selector.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-selector-and-wildcard-selector.rs rename to crates/ink/tests/ui/contract/fail/constructor/constructor-selector-and-wildcard-selector.rs diff --git a/crates/ink/tests/ui/contract/fail/constructor-selector-and-wildcard-selector.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-selector-and-wildcard-selector.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-selector-and-wildcard-selector.stderr rename to crates/ink/tests/ui/contract/fail/constructor/constructor-selector-and-wildcard-selector.stderr diff --git a/crates/ink/tests/ui/contract/fail/constructor-self-receiver-01.rs b/crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-01.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-self-receiver-01.rs rename to crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-01.rs diff --git a/crates/ink/tests/ui/contract/fail/constructor-self-receiver-01.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-01.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-self-receiver-01.stderr rename to crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-01.stderr diff --git a/crates/ink/tests/ui/contract/fail/constructor-self-receiver-02.rs b/crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-02.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-self-receiver-02.rs rename to crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-02.rs diff --git a/crates/ink/tests/ui/contract/fail/constructor-self-receiver-02.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-02.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-self-receiver-02.stderr rename to crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-02.stderr diff --git a/crates/ink/tests/ui/contract/fail/constructor-self-receiver-03.rs b/crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-03.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-self-receiver-03.rs rename to crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-03.rs diff --git a/crates/ink/tests/ui/contract/fail/constructor-self-receiver-03.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-03.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-self-receiver-03.stderr rename to crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-03.stderr diff --git a/crates/ink/tests/ui/contract/fail/constructor-self-receiver-04.rs b/crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-04.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-self-receiver-04.rs rename to crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-04.rs diff --git a/crates/ink/tests/ui/contract/fail/constructor-self-receiver-04.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-04.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-self-receiver-04.stderr rename to crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-04.stderr diff --git a/crates/ink/tests/ui/contract/fail/constructor-unsafe.rs b/crates/ink/tests/ui/contract/fail/constructor/constructor-unsafe.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-unsafe.rs rename to crates/ink/tests/ui/contract/fail/constructor/constructor-unsafe.rs diff --git a/crates/ink/tests/ui/contract/fail/constructor-unsafe.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-unsafe.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/constructor-unsafe.stderr rename to crates/ink/tests/ui/contract/fail/constructor/constructor-unsafe.stderr diff --git a/crates/ink/tests/ui/contract/fail/impl-block-for-non-storage-01.rs b/crates/ink/tests/ui/contract/fail/impl/impl-block-for-non-storage-01.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/impl-block-for-non-storage-01.rs rename to crates/ink/tests/ui/contract/fail/impl/impl-block-for-non-storage-01.rs diff --git a/crates/ink/tests/ui/contract/fail/impl-block-for-non-storage-01.stderr b/crates/ink/tests/ui/contract/fail/impl/impl-block-for-non-storage-01.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/impl-block-for-non-storage-01.stderr rename to crates/ink/tests/ui/contract/fail/impl/impl-block-for-non-storage-01.stderr diff --git a/crates/ink/tests/ui/contract/fail/impl-block-for-non-storage-02.rs b/crates/ink/tests/ui/contract/fail/impl/impl-block-for-non-storage-02.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/impl-block-for-non-storage-02.rs rename to crates/ink/tests/ui/contract/fail/impl/impl-block-for-non-storage-02.rs diff --git a/crates/ink/tests/ui/contract/fail/impl-block-for-non-storage-02.stderr b/crates/ink/tests/ui/contract/fail/impl/impl-block-for-non-storage-02.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/impl-block-for-non-storage-02.stderr rename to crates/ink/tests/ui/contract/fail/impl/impl-block-for-non-storage-02.stderr diff --git a/crates/ink/tests/ui/contract/fail/impl-block-namespace-invalid-identifier.rs b/crates/ink/tests/ui/contract/fail/impl/impl-block-namespace-invalid-identifier.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/impl-block-namespace-invalid-identifier.rs rename to crates/ink/tests/ui/contract/fail/impl/impl-block-namespace-invalid-identifier.rs diff --git a/crates/ink/tests/ui/contract/fail/impl-block-namespace-invalid-identifier.stderr b/crates/ink/tests/ui/contract/fail/impl/impl-block-namespace-invalid-identifier.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/impl-block-namespace-invalid-identifier.stderr rename to crates/ink/tests/ui/contract/fail/impl/impl-block-namespace-invalid-identifier.stderr diff --git a/crates/ink/tests/ui/contract/fail/impl-block-namespace-invalid-type.rs b/crates/ink/tests/ui/contract/fail/impl/impl-block-namespace-invalid-type.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/impl-block-namespace-invalid-type.rs rename to crates/ink/tests/ui/contract/fail/impl/impl-block-namespace-invalid-type.rs diff --git a/crates/ink/tests/ui/contract/fail/impl-block-namespace-invalid-type.stderr b/crates/ink/tests/ui/contract/fail/impl/impl-block-namespace-invalid-type.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/impl-block-namespace-invalid-type.stderr rename to crates/ink/tests/ui/contract/fail/impl/impl-block-namespace-invalid-type.stderr diff --git a/crates/ink/tests/ui/contract/fail/impl-block-namespace-missing-argument.rs b/crates/ink/tests/ui/contract/fail/impl/impl-block-namespace-missing-argument.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/impl-block-namespace-missing-argument.rs rename to crates/ink/tests/ui/contract/fail/impl/impl-block-namespace-missing-argument.rs diff --git a/crates/ink/tests/ui/contract/fail/impl-block-namespace-missing-argument.stderr b/crates/ink/tests/ui/contract/fail/impl/impl-block-namespace-missing-argument.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/impl-block-namespace-missing-argument.stderr rename to crates/ink/tests/ui/contract/fail/impl/impl-block-namespace-missing-argument.stderr diff --git a/crates/ink/tests/ui/contract/fail/impl-block-using-env-no-marker.rs b/crates/ink/tests/ui/contract/fail/impl/impl-block-using-env-no-marker.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/impl-block-using-env-no-marker.rs rename to crates/ink/tests/ui/contract/fail/impl/impl-block-using-env-no-marker.rs diff --git a/crates/ink/tests/ui/contract/fail/impl-block-using-env-no-marker.stderr b/crates/ink/tests/ui/contract/fail/impl/impl-block-using-env-no-marker.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/impl-block-using-env-no-marker.stderr rename to crates/ink/tests/ui/contract/fail/impl/impl-block-using-env-no-marker.stderr diff --git a/crates/ink/tests/ui/contract/fail/impl-block-using-static-env-no-marker.rs b/crates/ink/tests/ui/contract/fail/impl/impl-block-using-static-env-no-marker.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/impl-block-using-static-env-no-marker.rs rename to crates/ink/tests/ui/contract/fail/impl/impl-block-using-static-env-no-marker.rs diff --git a/crates/ink/tests/ui/contract/fail/impl-block-using-static-env-no-marker.stderr b/crates/ink/tests/ui/contract/fail/impl/impl-block-using-static-env-no-marker.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/impl-block-using-static-env-no-marker.stderr rename to crates/ink/tests/ui/contract/fail/impl/impl-block-using-static-env-no-marker.stderr diff --git a/crates/ink/tests/ui/contract/fail/message-hygiene-try.rs b/crates/ink/tests/ui/contract/fail/message/message-hygiene-try.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-hygiene-try.rs rename to crates/ink/tests/ui/contract/fail/message/message-hygiene-try.rs diff --git a/crates/ink/tests/ui/contract/fail/message-hygiene-try.stderr b/crates/ink/tests/ui/contract/fail/message/message-hygiene-try.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-hygiene-try.stderr rename to crates/ink/tests/ui/contract/fail/message/message-hygiene-try.stderr diff --git a/crates/ink/tests/ui/contract/fail/message-input-non-codec.rs b/crates/ink/tests/ui/contract/fail/message/message-input-non-codec.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-input-non-codec.rs rename to crates/ink/tests/ui/contract/fail/message/message-input-non-codec.rs diff --git a/crates/ink/tests/ui/contract/fail/message-input-non-codec.stderr b/crates/ink/tests/ui/contract/fail/message/message-input-non-codec.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-input-non-codec.stderr rename to crates/ink/tests/ui/contract/fail/message/message-input-non-codec.stderr diff --git a/crates/ink/tests/ui/contract/fail/message-input-pattern.rs b/crates/ink/tests/ui/contract/fail/message/message-input-pattern.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-input-pattern.rs rename to crates/ink/tests/ui/contract/fail/message/message-input-pattern.rs diff --git a/crates/ink/tests/ui/contract/fail/message-input-pattern.stderr b/crates/ink/tests/ui/contract/fail/message/message-input-pattern.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-input-pattern.stderr rename to crates/ink/tests/ui/contract/fail/message/message-input-pattern.stderr diff --git a/crates/ink/tests/ui/contract/fail/message-multiple-wildcard-selectors.rs b/crates/ink/tests/ui/contract/fail/message/message-multiple-wildcard-selectors.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-multiple-wildcard-selectors.rs rename to crates/ink/tests/ui/contract/fail/message/message-multiple-wildcard-selectors.rs diff --git a/crates/ink/tests/ui/contract/fail/message-multiple-wildcard-selectors.stderr b/crates/ink/tests/ui/contract/fail/message/message-multiple-wildcard-selectors.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-multiple-wildcard-selectors.stderr rename to crates/ink/tests/ui/contract/fail/message/message-multiple-wildcard-selectors.stderr diff --git a/crates/ink/tests/ui/contract/fail/message-returns-non-codec.rs b/crates/ink/tests/ui/contract/fail/message/message-returns-non-codec.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-returns-non-codec.rs rename to crates/ink/tests/ui/contract/fail/message/message-returns-non-codec.rs diff --git a/crates/ink/tests/ui/contract/fail/message-returns-non-codec.stderr b/crates/ink/tests/ui/contract/fail/message/message-returns-non-codec.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-returns-non-codec.stderr rename to crates/ink/tests/ui/contract/fail/message/message-returns-non-codec.stderr diff --git a/crates/ink/tests/ui/contract/fail/message-returns-self.rs b/crates/ink/tests/ui/contract/fail/message/message-returns-self.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-returns-self.rs rename to crates/ink/tests/ui/contract/fail/message/message-returns-self.rs diff --git a/crates/ink/tests/ui/contract/fail/message-returns-self.stderr b/crates/ink/tests/ui/contract/fail/message/message-returns-self.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-returns-self.stderr rename to crates/ink/tests/ui/contract/fail/message/message-returns-self.stderr diff --git a/crates/ink/tests/ui/contract/fail/message-selector-and-wildcard-selector.rs b/crates/ink/tests/ui/contract/fail/message/message-selector-and-wildcard-selector.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-selector-and-wildcard-selector.rs rename to crates/ink/tests/ui/contract/fail/message/message-selector-and-wildcard-selector.rs diff --git a/crates/ink/tests/ui/contract/fail/message-selector-and-wildcard-selector.stderr b/crates/ink/tests/ui/contract/fail/message/message-selector-and-wildcard-selector.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-selector-and-wildcard-selector.stderr rename to crates/ink/tests/ui/contract/fail/message/message-selector-and-wildcard-selector.stderr diff --git a/crates/ink/tests/ui/contract/fail/message-selector-invalid-type-01.rs b/crates/ink/tests/ui/contract/fail/message/message-selector-invalid-type-01.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-selector-invalid-type-01.rs rename to crates/ink/tests/ui/contract/fail/message/message-selector-invalid-type-01.rs diff --git a/crates/ink/tests/ui/contract/fail/message-selector-invalid-type-01.stderr b/crates/ink/tests/ui/contract/fail/message/message-selector-invalid-type-01.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-selector-invalid-type-01.stderr rename to crates/ink/tests/ui/contract/fail/message/message-selector-invalid-type-01.stderr diff --git a/crates/ink/tests/ui/contract/fail/message-selector-invalid-type-02.rs b/crates/ink/tests/ui/contract/fail/message/message-selector-invalid-type-02.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-selector-invalid-type-02.rs rename to crates/ink/tests/ui/contract/fail/message/message-selector-invalid-type-02.rs diff --git a/crates/ink/tests/ui/contract/fail/message-selector-invalid-type-02.stderr b/crates/ink/tests/ui/contract/fail/message/message-selector-invalid-type-02.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-selector-invalid-type-02.stderr rename to crates/ink/tests/ui/contract/fail/message/message-selector-invalid-type-02.stderr diff --git a/crates/ink/tests/ui/contract/fail/message-selector-missing-arg.rs b/crates/ink/tests/ui/contract/fail/message/message-selector-missing-arg.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-selector-missing-arg.rs rename to crates/ink/tests/ui/contract/fail/message/message-selector-missing-arg.rs diff --git a/crates/ink/tests/ui/contract/fail/message-selector-missing-arg.stderr b/crates/ink/tests/ui/contract/fail/message/message-selector-missing-arg.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-selector-missing-arg.stderr rename to crates/ink/tests/ui/contract/fail/message/message-selector-missing-arg.stderr diff --git a/crates/ink/tests/ui/contract/fail/message-selector-overlap-sol.rs b/crates/ink/tests/ui/contract/fail/message/message-selector-overlap-sol.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-selector-overlap-sol.rs rename to crates/ink/tests/ui/contract/fail/message/message-selector-overlap-sol.rs diff --git a/crates/ink/tests/ui/contract/fail/message-selector-overlap-sol.stderr b/crates/ink/tests/ui/contract/fail/message/message-selector-overlap-sol.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-selector-overlap-sol.stderr rename to crates/ink/tests/ui/contract/fail/message/message-selector-overlap-sol.stderr diff --git a/crates/ink/tests/ui/contract/fail/message-self-receiver-invalid-01.rs b/crates/ink/tests/ui/contract/fail/message/message-self-receiver-invalid-01.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-self-receiver-invalid-01.rs rename to crates/ink/tests/ui/contract/fail/message/message-self-receiver-invalid-01.rs diff --git a/crates/ink/tests/ui/contract/fail/message-self-receiver-invalid-01.stderr b/crates/ink/tests/ui/contract/fail/message/message-self-receiver-invalid-01.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-self-receiver-invalid-01.stderr rename to crates/ink/tests/ui/contract/fail/message/message-self-receiver-invalid-01.stderr diff --git a/crates/ink/tests/ui/contract/fail/message-self-receiver-invalid-02.rs b/crates/ink/tests/ui/contract/fail/message/message-self-receiver-invalid-02.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-self-receiver-invalid-02.rs rename to crates/ink/tests/ui/contract/fail/message/message-self-receiver-invalid-02.rs diff --git a/crates/ink/tests/ui/contract/fail/message-self-receiver-invalid-02.stderr b/crates/ink/tests/ui/contract/fail/message/message-self-receiver-invalid-02.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-self-receiver-invalid-02.stderr rename to crates/ink/tests/ui/contract/fail/message/message-self-receiver-invalid-02.stderr diff --git a/crates/ink/tests/ui/contract/fail/message-self-receiver-invalid-03.rs b/crates/ink/tests/ui/contract/fail/message/message-self-receiver-invalid-03.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-self-receiver-invalid-03.rs rename to crates/ink/tests/ui/contract/fail/message/message-self-receiver-invalid-03.rs diff --git a/crates/ink/tests/ui/contract/fail/message-self-receiver-invalid-03.stderr b/crates/ink/tests/ui/contract/fail/message/message-self-receiver-invalid-03.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-self-receiver-invalid-03.stderr rename to crates/ink/tests/ui/contract/fail/message/message-self-receiver-invalid-03.stderr diff --git a/crates/ink/tests/ui/contract/fail/message-self-receiver-missing.rs b/crates/ink/tests/ui/contract/fail/message/message-self-receiver-missing.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-self-receiver-missing.rs rename to crates/ink/tests/ui/contract/fail/message/message-self-receiver-missing.rs diff --git a/crates/ink/tests/ui/contract/fail/message-self-receiver-missing.stderr b/crates/ink/tests/ui/contract/fail/message/message-self-receiver-missing.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-self-receiver-missing.stderr rename to crates/ink/tests/ui/contract/fail/message/message-self-receiver-missing.stderr diff --git a/crates/ink/tests/ui/contract/fail/message-unknown-property.rs b/crates/ink/tests/ui/contract/fail/message/message-unknown-property.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-unknown-property.rs rename to crates/ink/tests/ui/contract/fail/message/message-unknown-property.rs diff --git a/crates/ink/tests/ui/contract/fail/message-unknown-property.stderr b/crates/ink/tests/ui/contract/fail/message/message-unknown-property.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/message-unknown-property.stderr rename to crates/ink/tests/ui/contract/fail/message/message-unknown-property.stderr diff --git a/crates/ink/tests/ui/contract/fail/trait-impl-namespace-invalid.rs b/crates/ink/tests/ui/contract/fail/trait/trait-impl-namespace-invalid.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/trait-impl-namespace-invalid.rs rename to crates/ink/tests/ui/contract/fail/trait/trait-impl-namespace-invalid.rs diff --git a/crates/ink/tests/ui/contract/fail/trait-impl-namespace-invalid.stderr b/crates/ink/tests/ui/contract/fail/trait/trait-impl-namespace-invalid.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/trait-impl-namespace-invalid.stderr rename to crates/ink/tests/ui/contract/fail/trait/trait-impl-namespace-invalid.stderr diff --git a/crates/ink/tests/ui/contract/fail/trait-message-payable-mismatch.rs b/crates/ink/tests/ui/contract/fail/trait/trait-message-payable-mismatch.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/trait-message-payable-mismatch.rs rename to crates/ink/tests/ui/contract/fail/trait/trait-message-payable-mismatch.rs diff --git a/crates/ink/tests/ui/contract/fail/trait-message-payable-mismatch.stderr b/crates/ink/tests/ui/contract/fail/trait/trait-message-payable-mismatch.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/trait-message-payable-mismatch.stderr rename to crates/ink/tests/ui/contract/fail/trait/trait-message-payable-mismatch.stderr diff --git a/crates/ink/tests/ui/contract/fail/trait-message-selector-mismatch.rs b/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-mismatch.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/trait-message-selector-mismatch.rs rename to crates/ink/tests/ui/contract/fail/trait/trait-message-selector-mismatch.rs diff --git a/crates/ink/tests/ui/contract/fail/trait-message-selector-mismatch.stderr b/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-mismatch.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/trait-message-selector-mismatch.stderr rename to crates/ink/tests/ui/contract/fail/trait/trait-message-selector-mismatch.stderr diff --git a/crates/ink/tests/ui/contract/fail/trait-message-selector-overlap-1.rs b/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-1.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/trait-message-selector-overlap-1.rs rename to crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-1.rs diff --git a/crates/ink/tests/ui/contract/fail/trait-message-selector-overlap-1.stderr b/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-1.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/trait-message-selector-overlap-1.stderr rename to crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-1.stderr diff --git a/crates/ink/tests/ui/contract/fail/trait-message-selector-overlap-2.rs b/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-2.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/trait-message-selector-overlap-2.rs rename to crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-2.rs diff --git a/crates/ink/tests/ui/contract/fail/trait-message-selector-overlap-2.stderr b/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-2.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/trait-message-selector-overlap-2.stderr rename to crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-2.stderr diff --git a/crates/ink/tests/ui/contract/fail/trait-message-selector-overlap-3.rs b/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-3.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/trait-message-selector-overlap-3.rs rename to crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-3.rs diff --git a/crates/ink/tests/ui/contract/fail/trait-message-selector-overlap-3.stderr b/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-3.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/trait-message-selector-overlap-3.stderr rename to crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-3.stderr diff --git a/crates/ink/tests/ui/contract/fail/trait-message-selector-overlap-sol.rs b/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-sol.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/trait-message-selector-overlap-sol.rs rename to crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-sol.rs diff --git a/crates/ink/tests/ui/contract/fail/trait-message-selector-overlap-sol.stderr b/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-sol.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/trait-message-selector-overlap-sol.stderr rename to crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-sol.stderr diff --git a/crates/ink/tests/ui/contract/fail/trait-message-wildcard-selector.rs b/crates/ink/tests/ui/contract/fail/trait/trait-message-wildcard-selector.rs similarity index 100% rename from crates/ink/tests/ui/contract/fail/trait-message-wildcard-selector.rs rename to crates/ink/tests/ui/contract/fail/trait/trait-message-wildcard-selector.rs diff --git a/crates/ink/tests/ui/contract/fail/trait-message-wildcard-selector.stderr b/crates/ink/tests/ui/contract/fail/trait/trait-message-wildcard-selector.stderr similarity index 100% rename from crates/ink/tests/ui/contract/fail/trait-message-wildcard-selector.stderr rename to crates/ink/tests/ui/contract/fail/trait/trait-message-wildcard-selector.stderr diff --git a/crates/ink/tests/ui/contract/pass/event-anonymous.rs b/crates/ink/tests/ui/contract/pass/event/event-anonymous.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/event-anonymous.rs rename to crates/ink/tests/ui/contract/pass/event/event-anonymous.rs diff --git a/crates/ink/tests/ui/contract/pass/event-config-more-topics.rs b/crates/ink/tests/ui/contract/pass/event/event-config-more-topics.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/event-config-more-topics.rs rename to crates/ink/tests/ui/contract/pass/event/event-config-more-topics.rs diff --git a/crates/ink/tests/ui/contract/pass/event-many-definitions.rs b/crates/ink/tests/ui/contract/pass/event/event-many-definitions.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/event-many-definitions.rs rename to crates/ink/tests/ui/contract/pass/event/event-many-definitions.rs diff --git a/crates/ink/tests/ui/contract/pass/event-single-definition.rs b/crates/ink/tests/ui/contract/pass/event/event-single-definition.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/event-single-definition.rs rename to crates/ink/tests/ui/contract/pass/event/event-single-definition.rs diff --git a/crates/ink/tests/ui/contract/pass/event-topics.rs b/crates/ink/tests/ui/contract/pass/event/event-topics.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/event-topics.rs rename to crates/ink/tests/ui/contract/pass/event/event-topics.rs diff --git a/crates/ink/tests/ui/contract/pass/example-erc20-works.rs b/crates/ink/tests/ui/contract/pass/example/example-erc20-works.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/example-erc20-works.rs rename to crates/ink/tests/ui/contract/pass/example/example-erc20-works.rs diff --git a/crates/ink/tests/ui/contract/pass/example-erc721-works.rs b/crates/ink/tests/ui/contract/pass/example/example-erc721-works.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/example-erc721-works.rs rename to crates/ink/tests/ui/contract/pass/example/example-erc721-works.rs diff --git a/crates/ink/tests/ui/contract/pass/example-flipper-works.rs b/crates/ink/tests/ui/contract/pass/example/example-flipper-works.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/example-flipper-works.rs rename to crates/ink/tests/ui/contract/pass/example/example-flipper-works.rs diff --git a/crates/ink/tests/ui/contract/pass/example-incrementer-works.rs b/crates/ink/tests/ui/contract/pass/example/example-incrementer-works.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/example-incrementer-works.rs rename to crates/ink/tests/ui/contract/pass/example/example-incrementer-works.rs diff --git a/crates/ink/tests/ui/contract/pass/example-return-err-works.rs b/crates/ink/tests/ui/contract/pass/example/example-return-err-works.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/example-return-err-works.rs rename to crates/ink/tests/ui/contract/pass/example/example-return-err-works.rs diff --git a/crates/ink/tests/ui/contract/pass/example-trait-flipper-works.rs b/crates/ink/tests/ui/contract/pass/example/example-trait-flipper-works.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/example-trait-flipper-works.rs rename to crates/ink/tests/ui/contract/pass/example/example-trait-flipper-works.rs diff --git a/crates/ink/tests/ui/contract/pass/example-trait-incrementer-works.rs b/crates/ink/tests/ui/contract/pass/example/example-trait-incrementer-works.rs similarity index 100% rename from crates/ink/tests/ui/contract/pass/example-trait-incrementer-works.rs rename to crates/ink/tests/ui/contract/pass/example/example-trait-incrementer-works.rs From cfff22227f615418c8f86dc6bcdcee729dcfb615 Mon Sep 17 00:00:00 2001 From: Michael Mueller Date: Mon, 17 Mar 2025 10:37:31 +0100 Subject: [PATCH 12/15] Updated test fixtures with new paths --- .../contract/fail/cfg/cfg-forbidden-usage-01.stderr | 2 +- .../contract/fail/cfg/cfg-forbidden-usage-02.stderr | 2 +- .../contract/fail/cfg/cfg-forbidden-usage-03.stderr | 2 +- .../contract/fail/cfg/cfg-forbidden-usage-04.stderr | 2 +- .../contract/fail/cfg/cfg-forbidden-usage-05.stderr | 2 +- .../contract/fail/cfg/cfg-forbidden-usage-06.stderr | 2 +- .../fail/cfg/config-keep-attr-invalid-type.stderr | 2 +- .../fail/cfg/config-keep-attr-missing-arg.stderr | 2 +- .../contract/fail/constructor/constructor-abi.stderr | 2 +- .../fail/constructor/constructor-async.stderr | 2 +- .../fail/constructor/constructor-const.stderr | 2 +- .../constructor/constructor-input-non-codec.stderr | 6 +++--- .../constructor/constructor-input-pattern.stderr | 2 +- .../constructor/constructor-missing-return.stderr | 2 +- .../constructor-multiple-wildcard-selectors.stderr | 4 ++-- .../constructor/constructor-payable-invalid-1.stderr | 2 +- .../constructor/constructor-payable-invalid-2.stderr | 2 +- .../constructor-return-result-invalid.stderr | 6 +++--- .../constructor-return-result-non-codec-error.stderr | 6 +++--- ...constructor-selector-and-wildcard-selector.stderr | 4 ++-- .../constructor/constructor-self-receiver-01.stderr | 2 +- .../constructor/constructor-self-receiver-02.stderr | 2 +- .../constructor/constructor-self-receiver-03.stderr | 8 ++++---- .../constructor/constructor-self-receiver-04.stderr | 2 +- .../fail/constructor/constructor-unsafe.stderr | 2 +- .../fail/impl/impl-block-for-non-storage-01.stderr | 12 ++++++------ .../fail/impl/impl-block-for-non-storage-02.stderr | 2 +- .../impl-block-namespace-invalid-identifier.stderr | 2 +- .../impl/impl-block-namespace-invalid-type.stderr | 2 +- .../impl-block-namespace-missing-argument.stderr | 2 +- .../fail/impl/impl-block-using-env-no-marker.stderr | 2 +- .../impl-block-using-static-env-no-marker.stderr | 4 ++-- .../contract/fail/message/message-hygiene-try.stderr | 2 +- .../fail/message/message-input-non-codec.stderr | 8 ++++---- .../fail/message/message-input-pattern.stderr | 2 +- .../message-multiple-wildcard-selectors.stderr | 4 ++-- .../fail/message/message-returns-non-codec.stderr | 6 +++--- .../fail/message/message-returns-self.stderr | 2 +- .../message-selector-and-wildcard-selector.stderr | 4 ++-- .../message/message-selector-invalid-type-01.stderr | 2 +- .../message/message-selector-invalid-type-02.stderr | 2 +- .../fail/message/message-selector-missing-arg.stderr | 2 +- .../fail/message/message-selector-overlap-sol.stderr | 2 +- .../message/message-self-receiver-invalid-01.stderr | 2 +- .../message/message-self-receiver-invalid-02.stderr | 2 +- .../message/message-self-receiver-invalid-03.stderr | 2 +- .../message/message-self-receiver-missing.stderr | 2 +- .../fail/message/message-unknown-property.stderr | 2 +- .../fail/trait/trait-impl-namespace-invalid.stderr | 2 +- .../fail/trait/trait-message-payable-mismatch.stderr | 2 +- .../trait/trait-message-selector-mismatch.stderr | 2 +- .../trait/trait-message-selector-overlap-1.stderr | 4 ++-- .../trait/trait-message-selector-overlap-2.stderr | 4 ++-- .../trait/trait-message-selector-overlap-3.stderr | 4 ++-- .../trait/trait-message-selector-overlap-sol.stderr | 2 +- .../trait/trait-message-wildcard-selector.stderr | 6 +++--- 56 files changed, 85 insertions(+), 85 deletions(-) diff --git a/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-01.stderr b/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-01.stderr index 23472168b5b..66e1454103b 100644 --- a/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-01.stderr +++ b/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-01.stderr @@ -6,7 +6,7 @@ error: This `cfg` attribute is not allowed. - `any` - `not` - `all` - --> tests/ui/contract/fail/cfg-forbidden-usage-01.rs:18:25 + --> tests/ui/contract/fail/cfg/cfg-forbidden-usage-01.rs:18:25 | 18 | #[cfg(any(test, target_family = "wasm"))] | ^^^^^^^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-02.stderr b/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-02.stderr index 9a03ea87810..657e7f70ed7 100644 --- a/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-02.stderr +++ b/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-02.stderr @@ -6,7 +6,7 @@ error: The feature `std` is not allowed in `cfg`. - `any` - `not` - `all` - --> tests/ui/contract/fail/cfg-forbidden-usage-02.rs:18:19 + --> tests/ui/contract/fail/cfg/cfg-forbidden-usage-02.rs:18:19 | 18 | #[cfg(not(feature = "std"))] | ^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-03.stderr b/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-03.stderr index 93d14303911..2457a22d09c 100644 --- a/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-03.stderr +++ b/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-03.stderr @@ -6,7 +6,7 @@ error: The feature `std` is not allowed in `cfg`. - `any` - `not` - `all` - --> tests/ui/contract/fail/cfg-forbidden-usage-03.rs:18:23 + --> tests/ui/contract/fail/cfg/cfg-forbidden-usage-03.rs:18:23 | 18 | #[cfg(any(not(feature = "std")))] | ^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-04.stderr b/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-04.stderr index 4cad5bdbfe4..565cb92695e 100644 --- a/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-04.stderr +++ b/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-04.stderr @@ -6,7 +6,7 @@ error: This `cfg` attribute is not allowed. - `any` - `not` - `all` - --> tests/ui/contract/fail/cfg-forbidden-usage-04.rs:9:25 + --> tests/ui/contract/fail/cfg/cfg-forbidden-usage-04.rs:9:25 | 9 | #[cfg(any(test, target_family = "wasm", feature = "std"))] | ^^^^^^^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-05.stderr b/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-05.stderr index 7d7030226f1..c294dfce8a5 100644 --- a/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-05.stderr +++ b/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-05.stderr @@ -6,7 +6,7 @@ error: This `cfg` attribute is not allowed. - `any` - `not` - `all` - --> tests/ui/contract/fail/cfg-forbidden-usage-05.rs:18:15 + --> tests/ui/contract/fail/cfg/cfg-forbidden-usage-05.rs:18:15 | 18 | #[cfg(target_pointer_width = "32")] | ^^^^^^^^^^^^^^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-06.stderr b/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-06.stderr index db5273b1969..445d58839a8 100644 --- a/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-06.stderr +++ b/crates/ink/tests/ui/contract/fail/cfg/cfg-forbidden-usage-06.stderr @@ -6,7 +6,7 @@ error: This `cfg` attribute is not allowed. - `any` - `not` - `all` - --> tests/ui/contract/fail/cfg-forbidden-usage-06.rs:18:15 + --> tests/ui/contract/fail/cfg/cfg-forbidden-usage-06.rs:18:15 | 18 | #[cfg(target_os = "wasm")] | ^^^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/cfg/config-keep-attr-invalid-type.stderr b/crates/ink/tests/ui/contract/fail/cfg/config-keep-attr-invalid-type.stderr index c63515a032e..aeb0755492d 100644 --- a/crates/ink/tests/ui/contract/fail/cfg/config-keep-attr-invalid-type.stderr +++ b/crates/ink/tests/ui/contract/fail/cfg/config-keep-attr-invalid-type.stderr @@ -1,5 +1,5 @@ error: expected a string with attributes separated by `,` - --> tests/ui/contract/fail/config-keep-attr-invalid-type.rs:3:17 + --> tests/ui/contract/fail/cfg/config-keep-attr-invalid-type.rs:3:17 | 3 | #[ink::contract(keep_attr = true)] | ^^^^^^^^^^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/cfg/config-keep-attr-missing-arg.stderr b/crates/ink/tests/ui/contract/fail/cfg/config-keep-attr-missing-arg.stderr index 197e8bde0cf..37b082e78c4 100644 --- a/crates/ink/tests/ui/contract/fail/cfg/config-keep-attr-missing-arg.stderr +++ b/crates/ink/tests/ui/contract/fail/cfg/config-keep-attr-missing-arg.stderr @@ -1,5 +1,5 @@ error: expected a string literal value for `keep_attr` ink! configuration argument - --> tests/ui/contract/fail/config-keep-attr-missing-arg.rs:3:17 + --> tests/ui/contract/fail/cfg/config-keep-attr-missing-arg.rs:3:17 | 3 | #[ink::contract(keep_attr)] | ^^^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/constructor/constructor-abi.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-abi.stderr index ac69b6edc50..451d2fed18b 100644 --- a/crates/ink/tests/ui/contract/fail/constructor/constructor-abi.stderr +++ b/crates/ink/tests/ui/contract/fail/constructor/constructor-abi.stderr @@ -1,5 +1,5 @@ error: ink! constructors must not have explicit ABI - --> tests/ui/contract/fail/constructor-abi.rs:10:13 + --> tests/ui/contract/fail/constructor/constructor-abi.rs:10:13 | 10 | pub extern "C" fn constructor() -> Self { | ^^^^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/constructor/constructor-async.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-async.stderr index 86a797e0c13..b30a234ba05 100644 --- a/crates/ink/tests/ui/contract/fail/constructor/constructor-async.stderr +++ b/crates/ink/tests/ui/contract/fail/constructor/constructor-async.stderr @@ -1,5 +1,5 @@ error: ink! constructors must not be async - --> tests/ui/contract/fail/constructor-async.rs:10:13 + --> tests/ui/contract/fail/constructor/constructor-async.rs:10:13 | 10 | pub async fn constructor() -> Self { | ^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/constructor/constructor-const.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-const.stderr index 4a4b2399fd3..4c376e97217 100644 --- a/crates/ink/tests/ui/contract/fail/constructor/constructor-const.stderr +++ b/crates/ink/tests/ui/contract/fail/constructor/constructor-const.stderr @@ -1,5 +1,5 @@ error: ink! constructors must not be const - --> tests/ui/contract/fail/constructor-const.rs:10:13 + --> tests/ui/contract/fail/constructor/constructor-const.rs:10:13 | 10 | pub const fn constructor() -> Self { | ^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/constructor/constructor-input-non-codec.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-input-non-codec.stderr index 6dfa89a4662..8ec24d44bb9 100644 --- a/crates/ink/tests/ui/contract/fail/constructor/constructor-input-non-codec.stderr +++ b/crates/ink/tests/ui/contract/fail/constructor/constructor-input-non-codec.stderr @@ -1,5 +1,5 @@ error[E0277]: the trait bound `NonCodecType: WrapperTypeDecode` is not satisfied - --> tests/ui/contract/fail/constructor-input-non-codec.rs:13:28 + --> tests/ui/contract/fail/constructor/constructor-input-non-codec.rs:13:28 | 13 | pub fn constructor(_input: NonCodecType) -> Self { | ^^^^^^^^^^^^^^^^^^^^ the trait `WrapperTypeDecode` is not implemented for `NonCodecType` @@ -20,7 +20,7 @@ note: required by a bound in `DispatchInput` | ^^^^^^^^^^^^^ required by this bound in `DispatchInput` error[E0277]: the trait bound `NonCodecType: ink::parity_scale_codec::Decode` is not satisfied - --> tests/ui/contract/fail/constructor-input-non-codec.rs:13:9 + --> tests/ui/contract/fail/constructor/constructor-input-non-codec.rs:13:9 | 13 | / pub fn constructor(_input: NonCodecType) -> Self { 14 | | Self {} @@ -35,7 +35,7 @@ error[E0277]: the trait bound `NonCodecType: ink::parity_scale_codec::Decode` is = note: required for `NonCodecType` to implement `ink::parity_scale_codec::Decode` error[E0277]: the trait bound `NonCodecType: AbiEncodeWith<_>` is not satisfied - --> tests/ui/contract/fail/constructor-input-non-codec.rs:3:1 + --> tests/ui/contract/fail/constructor/constructor-input-non-codec.rs:3:1 | 3 | #[ink::contract] | ^^^^^^^^^^^^^^^^ the trait `AbiEncodeWith<_>` is not implemented for `NonCodecType` diff --git a/crates/ink/tests/ui/contract/fail/constructor/constructor-input-pattern.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-input-pattern.stderr index 59def8bc720..462450d11f2 100644 --- a/crates/ink/tests/ui/contract/fail/constructor/constructor-input-pattern.stderr +++ b/crates/ink/tests/ui/contract/fail/constructor/constructor-input-pattern.stderr @@ -1,5 +1,5 @@ error: ink! constructor arguments must have an identifier - --> tests/ui/contract/fail/constructor-input-pattern.rs:10:28 + --> tests/ui/contract/fail/constructor/constructor-input-pattern.rs:10:28 | 10 | pub fn constructor((_a, _b): (i32, i32)) -> Self { | ^^^^^^^^^^^^^^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/constructor/constructor-missing-return.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-missing-return.stderr index fda3fa61b5a..60ec2eff115 100644 --- a/crates/ink/tests/ui/contract/fail/constructor/constructor-missing-return.stderr +++ b/crates/ink/tests/ui/contract/fail/constructor/constructor-missing-return.stderr @@ -1,5 +1,5 @@ error: missing return for ink! constructor - --> tests/ui/contract/fail/constructor-missing-return.rs:10:13 + --> tests/ui/contract/fail/constructor/constructor-missing-return.rs:10:13 | 10 | pub fn constructor() {} | ^^^^^^^^^^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/constructor/constructor-multiple-wildcard-selectors.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-multiple-wildcard-selectors.stderr index 658bd706146..3ebf0bb36e8 100644 --- a/crates/ink/tests/ui/contract/fail/constructor/constructor-multiple-wildcard-selectors.stderr +++ b/crates/ink/tests/ui/contract/fail/constructor/constructor-multiple-wildcard-selectors.stderr @@ -1,5 +1,5 @@ error: encountered ink! constructor with overlapping wildcard selectors - --> tests/ui/contract/fail/constructor-multiple-wildcard-selectors.rs:15:9 + --> tests/ui/contract/fail/constructor/constructor-multiple-wildcard-selectors.rs:15:9 | 15 | / pub fn constructor2() -> Self { 16 | | Self {} @@ -7,7 +7,7 @@ error: encountered ink! constructor with overlapping wildcard selectors | |_________^ error: first ink! constructor with overlapping wildcard selector here - --> tests/ui/contract/fail/constructor-multiple-wildcard-selectors.rs:10:9 + --> tests/ui/contract/fail/constructor/constructor-multiple-wildcard-selectors.rs:10:9 | 10 | / pub fn constructor1() -> Self { 11 | | Self {} diff --git a/crates/ink/tests/ui/contract/fail/constructor/constructor-payable-invalid-1.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-payable-invalid-1.stderr index 6f0f73fb9de..b6f9f11c600 100644 --- a/crates/ink/tests/ui/contract/fail/constructor/constructor-payable-invalid-1.stderr +++ b/crates/ink/tests/ui/contract/fail/constructor/constructor-payable-invalid-1.stderr @@ -1,5 +1,5 @@ error: encountered unknown ink! attribute argument: payable - --> tests/ui/contract/fail/constructor-payable-invalid-1.rs:9:28 + --> tests/ui/contract/fail/constructor/constructor-payable-invalid-1.rs:9:28 | 9 | #[ink(constructor, payable = true)] | ^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/constructor/constructor-payable-invalid-2.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-payable-invalid-2.stderr index e8b0605f9a0..155ac1b0074 100644 --- a/crates/ink/tests/ui/contract/fail/constructor/constructor-payable-invalid-2.stderr +++ b/crates/ink/tests/ui/contract/fail/constructor/constructor-payable-invalid-2.stderr @@ -1,5 +1,5 @@ error: encountered unknown ink! attribute argument: payable - --> tests/ui/contract/fail/constructor-payable-invalid-2.rs:9:28 + --> tests/ui/contract/fail/constructor/constructor-payable-invalid-2.rs:9:28 | 9 | #[ink(constructor, payable = false)] | ^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/constructor/constructor-return-result-invalid.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-return-result-invalid.stderr index bd033a3a682..5fe9de8dd03 100644 --- a/crates/ink/tests/ui/contract/fail/constructor/constructor-return-result-invalid.stderr +++ b/crates/ink/tests/ui/contract/fail/constructor/constructor-return-result-invalid.stderr @@ -1,5 +1,5 @@ error[E0277]: the trait bound `ConstructorOutputValue>: ConstructorOutput` is not satisfied - --> tests/ui/contract/fail/constructor-return-result-invalid.rs:16:9 + --> tests/ui/contract/fail/constructor/constructor-return-result-invalid.rs:16:9 | 16 | / pub fn constructor() -> Result { 17 | | Ok(5_u8) @@ -11,7 +11,7 @@ error[E0277]: the trait bound `ConstructorOutputValue> error[E0277]: the trait bound `Result: ConstructorReturnType` is not satisfied - --> tests/ui/contract/fail/constructor-return-result-invalid.rs:16:33 + --> tests/ui/contract/fail/constructor/constructor-return-result-invalid.rs:16:33 | 16 | pub fn constructor() -> Result { | - ^^^^^^^^^^^^^^^^^ the trait `ConstructorReturnType` is not implemented for `Result` @@ -34,7 +34,7 @@ note: required by a bound in `CreateBuilder::>>::returns` error[E0277]: the trait bound `ConstructorOutputValue>: ConstructorOutput` is not satisfied - --> tests/ui/contract/fail/constructor-return-result-invalid.rs:6:16 + --> tests/ui/contract/fail/constructor/constructor-return-result-invalid.rs:6:16 | 6 | pub struct Contract {} | ^^^^^^^^ the trait `ConstructorOutput` is not implemented for `ConstructorOutputValue>` diff --git a/crates/ink/tests/ui/contract/fail/constructor/constructor-return-result-non-codec-error.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-return-result-non-codec-error.stderr index ed1d9061063..14e0b13d1cc 100644 --- a/crates/ink/tests/ui/contract/fail/constructor/constructor-return-result-non-codec-error.stderr +++ b/crates/ink/tests/ui/contract/fail/constructor/constructor-return-result-non-codec-error.stderr @@ -1,5 +1,5 @@ error[E0277]: the trait bound `Result, LangError>: Encode` is not satisfied - --> tests/ui/contract/fail/constructor-return-result-non-codec-error.rs:15:9 + --> tests/ui/contract/fail/constructor/constructor-return-result-non-codec-error.rs:15:9 | 15 | / pub fn constructor() -> Result { 16 | | Ok(Self {}) @@ -17,7 +17,7 @@ note: required by a bound in `return_value` | ^^^^^^^^^^^^^ required by this bound in `return_value` error[E0277]: the trait bound `contract::Error: WrapperTypeDecode` is not satisfied - --> tests/ui/contract/fail/constructor-return-result-non-codec-error.rs:15:33 + --> tests/ui/contract/fail/constructor/constructor-return-result-non-codec-error.rs:15:33 | 15 | pub fn constructor() -> Result { | - ^^^^^^^^^^^^^^^^^^^ the trait `WrapperTypeDecode` is not implemented for `contract::Error` @@ -44,7 +44,7 @@ note: required by a bound in `CreateBuilder::>>::returns` error[E0277]: the trait bound `contract::Error: TypeInfo` is not satisfied - --> tests/ui/contract/fail/constructor-return-result-non-codec-error.rs:6:16 + --> tests/ui/contract/fail/constructor/constructor-return-result-non-codec-error.rs:6:16 | 6 | pub struct Contract {} | ^^^^^^^^ the trait `TypeInfo` is not implemented for `contract::Error` diff --git a/crates/ink/tests/ui/contract/fail/constructor/constructor-selector-and-wildcard-selector.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-selector-and-wildcard-selector.stderr index 9c2c985c235..fd81d2e22ee 100644 --- a/crates/ink/tests/ui/contract/fail/constructor/constructor-selector-and-wildcard-selector.stderr +++ b/crates/ink/tests/ui/contract/fail/constructor/constructor-selector-and-wildcard-selector.stderr @@ -1,11 +1,11 @@ error: encountered ink! attribute arguments with equal kinds - --> tests/ui/contract/fail/constructor-selector-and-wildcard-selector.rs:9:51 + --> tests/ui/contract/fail/constructor/constructor-selector-and-wildcard-selector.rs:9:51 | 9 | #[ink(constructor, selector = 0xCAFEBABA, selector = _)] | ^^^^^^^^^^^^ error: first equal ink! attribute argument with equal kind here - --> tests/ui/contract/fail/constructor-selector-and-wildcard-selector.rs:9:28 + --> tests/ui/contract/fail/constructor/constructor-selector-and-wildcard-selector.rs:9:28 | 9 | #[ink(constructor, selector = 0xCAFEBABA, selector = _)] | ^^^^^^^^^^^^^^^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-01.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-01.stderr index b10addb66d3..e66c688c8c7 100644 --- a/crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-01.stderr +++ b/crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-01.stderr @@ -1,5 +1,5 @@ error: ink! constructors must have no `self` receiver - --> tests/ui/contract/fail/constructor-self-receiver-01.rs:10:28 + --> tests/ui/contract/fail/constructor/constructor-self-receiver-01.rs:10:28 | 10 | pub fn constructor(&self) -> Self { | ^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-02.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-02.stderr index f217562f530..3cabb4f27f9 100644 --- a/crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-02.stderr +++ b/crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-02.stderr @@ -1,5 +1,5 @@ error: ink! constructors must have no `self` receiver - --> tests/ui/contract/fail/constructor-self-receiver-02.rs:10:28 + --> tests/ui/contract/fail/constructor/constructor-self-receiver-02.rs:10:28 | 10 | pub fn constructor(&mut self) -> Self { | ^^^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-03.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-03.stderr index adb6b88224f..b2cddaded6b 100644 --- a/crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-03.stderr +++ b/crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-03.stderr @@ -1,11 +1,11 @@ error: in the trait associated type is declared without lifetime parameters, so using a borrowed type for them requires that lifetime to come from the implemented type - --> tests/ui/contract/fail/constructor-self-receiver-03.rs:10:34 + --> tests/ui/contract/fail/constructor/constructor-self-receiver-03.rs:10:34 | 10 | pub fn constructor(this: &Self) -> Self { | ^ this lifetime must come from the implemented type error[E0411]: cannot find type `Self` in this scope - --> tests/ui/contract/fail/constructor-self-receiver-03.rs:10:35 + --> tests/ui/contract/fail/constructor/constructor-self-receiver-03.rs:10:35 | 6 | pub struct Contract {} | ---------------------- `Self` not allowed in a constant item @@ -14,7 +14,7 @@ error[E0411]: cannot find type `Self` in this scope | ^^^^ `Self` is only available in impls, traits, and type definitions error[E0411]: cannot find type `Self` in this scope - --> tests/ui/contract/fail/constructor-self-receiver-03.rs:10:35 + --> tests/ui/contract/fail/constructor/constructor-self-receiver-03.rs:10:35 | 3 | #[ink::contract] | ---------------- `Self` not allowed in a function @@ -23,7 +23,7 @@ error[E0411]: cannot find type `Self` in this scope | ^^^^ `Self` is only available in impls, traits, and type definitions warning: unused variable: `this` - --> tests/ui/contract/fail/constructor-self-receiver-03.rs:10:28 + --> tests/ui/contract/fail/constructor/constructor-self-receiver-03.rs:10:28 | 10 | pub fn constructor(this: &Self) -> Self { | ^^^^ help: if this is intentional, prefix it with an underscore: `_this` diff --git a/crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-04.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-04.stderr index c5259d8f9bd..6669f9c6a2c 100644 --- a/crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-04.stderr +++ b/crates/ink/tests/ui/contract/fail/constructor/constructor-self-receiver-04.stderr @@ -1,5 +1,5 @@ error: ink! constructors must have no `self` receiver - --> tests/ui/contract/fail/constructor-self-receiver-04.rs:10:28 + --> tests/ui/contract/fail/constructor/constructor-self-receiver-04.rs:10:28 | 10 | pub fn constructor(self) -> Self { | ^^^^ diff --git a/crates/ink/tests/ui/contract/fail/constructor/constructor-unsafe.stderr b/crates/ink/tests/ui/contract/fail/constructor/constructor-unsafe.stderr index d340ce7205e..1e53cec5b89 100644 --- a/crates/ink/tests/ui/contract/fail/constructor/constructor-unsafe.stderr +++ b/crates/ink/tests/ui/contract/fail/constructor/constructor-unsafe.stderr @@ -1,5 +1,5 @@ error: ink! constructors must not be unsafe - --> tests/ui/contract/fail/constructor-unsafe.rs:10:13 + --> tests/ui/contract/fail/constructor/constructor-unsafe.rs:10:13 | 10 | pub unsafe fn constructor() -> Self { | ^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/impl/impl-block-for-non-storage-01.stderr b/crates/ink/tests/ui/contract/fail/impl/impl-block-for-non-storage-01.stderr index 19a8bd74a50..3ecac89ef2e 100644 --- a/crates/ink/tests/ui/contract/fail/impl/impl-block-for-non-storage-01.stderr +++ b/crates/ink/tests/ui/contract/fail/impl/impl-block-for-non-storage-01.stderr @@ -1,5 +1,5 @@ error[E0308]: mismatched types - --> tests/ui/contract/fail/impl-block-for-non-storage-01.rs:20:10 + --> tests/ui/contract/fail/impl/impl-block-for-non-storage-01.rs:20:10 | 20 | impl NonContract { | ^^^^^^^^^^^ expected `IsSameType`, found `IsSameType` @@ -8,7 +8,7 @@ error[E0308]: mismatched types found struct `IsSameType` error[E0599]: no function or associated item named `constructor_2` found for struct `Contract` in the current scope - --> tests/ui/contract/fail/impl-block-for-non-storage-01.rs:22:16 + --> tests/ui/contract/fail/impl/impl-block-for-non-storage-01.rs:22:16 | 6 | pub struct Contract {} | _____------------------- @@ -25,7 +25,7 @@ error[E0599]: no function or associated item named `constructor_2` found for str | | note: if you're trying to build a new `Contract`, consider using `contract::_::::constructor_1` which returns `Contract` - --> tests/ui/contract/fail/impl-block-for-non-storage-01.rs:10:9 + --> tests/ui/contract/fail/impl/impl-block-for-non-storage-01.rs:10:9 | 10 | pub fn constructor_1() -> Self { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -36,7 +36,7 @@ help: there is an associated function `constructor_1` with a similar name | error[E0599]: no function or associated item named `message_2` found for struct `Contract` in the current scope - --> tests/ui/contract/fail/impl-block-for-non-storage-01.rs:27:16 + --> tests/ui/contract/fail/impl/impl-block-for-non-storage-01.rs:27:16 | 6 | pub struct Contract {} | _____------------------- @@ -53,12 +53,12 @@ error[E0599]: no function or associated item named `message_2` found for struct | | note: if you're trying to build a new `Contract`, consider using `contract::_::::constructor_1` which returns `Contract` - --> tests/ui/contract/fail/impl-block-for-non-storage-01.rs:10:9 + --> tests/ui/contract/fail/impl/impl-block-for-non-storage-01.rs:10:9 | 10 | pub fn constructor_1() -> Self { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: there is a method `message_1` with a similar name, but with different arguments - --> tests/ui/contract/fail/impl-block-for-non-storage-01.rs:15:9 + --> tests/ui/contract/fail/impl/impl-block-for-non-storage-01.rs:15:9 | 15 | pub fn message_1(&self) {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/impl/impl-block-for-non-storage-02.stderr b/crates/ink/tests/ui/contract/fail/impl/impl-block-for-non-storage-02.stderr index 1b4484d9d0e..5473181c949 100644 --- a/crates/ink/tests/ui/contract/fail/impl/impl-block-for-non-storage-02.stderr +++ b/crates/ink/tests/ui/contract/fail/impl/impl-block-for-non-storage-02.stderr @@ -1,5 +1,5 @@ error[E0308]: mismatched types - --> tests/ui/contract/fail/impl-block-for-non-storage-02.rs:21:10 + --> tests/ui/contract/fail/impl/impl-block-for-non-storage-02.rs:21:10 | 21 | impl NonContract {} | ^^^^^^^^^^^ expected `IsSameType`, found `IsSameType` diff --git a/crates/ink/tests/ui/contract/fail/impl/impl-block-namespace-invalid-identifier.stderr b/crates/ink/tests/ui/contract/fail/impl/impl-block-namespace-invalid-identifier.stderr index d4e5efa7e46..8e5ea04fd9a 100644 --- a/crates/ink/tests/ui/contract/fail/impl/impl-block-namespace-invalid-identifier.stderr +++ b/crates/ink/tests/ui/contract/fail/impl/impl-block-namespace-invalid-identifier.stderr @@ -1,5 +1,5 @@ error: encountered invalid Rust identifier for namespace argument - --> tests/ui/contract/fail/impl-block-namespace-invalid-identifier.rs:8:23 + --> tests/ui/contract/fail/impl/impl-block-namespace-invalid-identifier.rs:8:23 | 8 | #[ink(namespace = "::invalid_identifier")] | ^^^^^^^^^^^^^^^^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/impl/impl-block-namespace-invalid-type.stderr b/crates/ink/tests/ui/contract/fail/impl/impl-block-namespace-invalid-type.stderr index f9334650631..393e6a50f45 100644 --- a/crates/ink/tests/ui/contract/fail/impl/impl-block-namespace-invalid-type.stderr +++ b/crates/ink/tests/ui/contract/fail/impl/impl-block-namespace-invalid-type.stderr @@ -1,5 +1,5 @@ error: expected string type for `namespace` argument, e.g. #[ink(namespace = "hello")] - --> tests/ui/contract/fail/impl-block-namespace-invalid-type.rs:8:23 + --> tests/ui/contract/fail/impl/impl-block-namespace-invalid-type.rs:8:23 | 8 | #[ink(namespace = true)] | ^^^^ diff --git a/crates/ink/tests/ui/contract/fail/impl/impl-block-namespace-missing-argument.stderr b/crates/ink/tests/ui/contract/fail/impl/impl-block-namespace-missing-argument.stderr index b09ed8ec0cd..46d54a918bb 100644 --- a/crates/ink/tests/ui/contract/fail/impl/impl-block-namespace-missing-argument.stderr +++ b/crates/ink/tests/ui/contract/fail/impl/impl-block-namespace-missing-argument.stderr @@ -1,5 +1,5 @@ error: encountered #[ink(namespace)] that is missing its string parameter. Did you mean #[ink(namespace = name: str)] ? - --> tests/ui/contract/fail/impl-block-namespace-missing-argument.rs:8:11 + --> tests/ui/contract/fail/impl/impl-block-namespace-missing-argument.rs:8:11 | 8 | #[ink(namespace)] | ^^^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/impl/impl-block-using-env-no-marker.stderr b/crates/ink/tests/ui/contract/fail/impl/impl-block-using-env-no-marker.stderr index ce7fc5aa41b..afb379e0600 100644 --- a/crates/ink/tests/ui/contract/fail/impl/impl-block-using-env-no-marker.stderr +++ b/crates/ink/tests/ui/contract/fail/impl/impl-block-using-env-no-marker.stderr @@ -1,5 +1,5 @@ error[E0599]: no method named `env` found for reference `&Contract` in the current scope - --> tests/ui/contract/fail/impl-block-using-env-no-marker.rs:24:26 + --> tests/ui/contract/fail/impl/impl-block-using-env-no-marker.rs:24:26 | 24 | let _ = self.env().caller(); | ^^^ method not found in `&Contract` diff --git a/crates/ink/tests/ui/contract/fail/impl/impl-block-using-static-env-no-marker.stderr b/crates/ink/tests/ui/contract/fail/impl/impl-block-using-static-env-no-marker.stderr index 56cfc630625..70292afd071 100644 --- a/crates/ink/tests/ui/contract/fail/impl/impl-block-using-static-env-no-marker.stderr +++ b/crates/ink/tests/ui/contract/fail/impl/impl-block-using-static-env-no-marker.stderr @@ -1,5 +1,5 @@ error[E0599]: no function or associated item named `env` found for struct `Contract` in the current scope - --> tests/ui/contract/fail/impl-block-using-static-env-no-marker.rs:22:27 + --> tests/ui/contract/fail/impl/impl-block-using-static-env-no-marker.rs:22:27 | 6 | pub struct Contract {} | ------------------- function or associated item `env` not found for this struct @@ -10,7 +10,7 @@ error[E0599]: no function or associated item named `env` found for struct `Contr note: if you're trying to build a new `Contract` consider using one of the following associated functions: contract::_::::constructor Contract::constructor_impl - --> tests/ui/contract/fail/impl-block-using-static-env-no-marker.rs:10:9 + --> tests/ui/contract/fail/impl/impl-block-using-static-env-no-marker.rs:10:9 | 10 | pub fn constructor() -> Self { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/message/message-hygiene-try.stderr b/crates/ink/tests/ui/contract/fail/message/message-hygiene-try.stderr index 58b80f0b344..7c7bf9ea4ab 100644 --- a/crates/ink/tests/ui/contract/fail/message/message-hygiene-try.stderr +++ b/crates/ink/tests/ui/contract/fail/message/message-hygiene-try.stderr @@ -1,5 +1,5 @@ error[E0592]: duplicate definitions with name `try_message` - --> tests/ui/contract/fail/message-hygiene-try.rs:18:9 + --> tests/ui/contract/fail/message/message-hygiene-try.rs:18:9 | 3 | #[ink::contract] | ---------------- other definition for `try_message` diff --git a/crates/ink/tests/ui/contract/fail/message/message-input-non-codec.stderr b/crates/ink/tests/ui/contract/fail/message/message-input-non-codec.stderr index d2b115ad9e2..a78ff7a3253 100644 --- a/crates/ink/tests/ui/contract/fail/message/message-input-non-codec.stderr +++ b/crates/ink/tests/ui/contract/fail/message/message-input-non-codec.stderr @@ -1,5 +1,5 @@ error[E0277]: the trait bound `NonCodecType: WrapperTypeDecode` is not satisfied - --> tests/ui/contract/fail/message-input-non-codec.rs:18:31 + --> tests/ui/contract/fail/message/message-input-non-codec.rs:18:31 | 18 | pub fn message(&self, _input: NonCodecType) {} | ^^^^^^^^^^^^^^^^^^^^ the trait `WrapperTypeDecode` is not implemented for `NonCodecType` @@ -20,7 +20,7 @@ note: required by a bound in `DispatchInput` | ^^^^^^^^^^^^^ required by this bound in `DispatchInput` error[E0277]: the trait bound `NonCodecType: ink::parity_scale_codec::Decode` is not satisfied - --> tests/ui/contract/fail/message-input-non-codec.rs:18:9 + --> tests/ui/contract/fail/message/message-input-non-codec.rs:18:9 | 18 | pub fn message(&self, _input: NonCodecType) {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `WrapperTypeDecode` is not implemented for `NonCodecType` @@ -33,7 +33,7 @@ error[E0277]: the trait bound `NonCodecType: ink::parity_scale_codec::Decode` is = note: required for `NonCodecType` to implement `ink::parity_scale_codec::Decode` error[E0277]: the trait bound `NonCodecType: AbiEncodeWith<_>` is not satisfied - --> tests/ui/contract/fail/message-input-non-codec.rs:3:1 + --> tests/ui/contract/fail/message/message-input-non-codec.rs:3:1 | 3 | #[ink::contract] | ^^^^^^^^^^^^^^^^ the trait `AbiEncodeWith<_>` is not implemented for `NonCodecType` @@ -51,7 +51,7 @@ note: required by a bound in `ExecutionInput::, Abi>::push_arg` error[E0599]: the method `try_invoke` exists for struct `CallBuilder, Set, ArgumentList, ScaleEncoding>, ScaleEncoding>>, Set>>`, but its trait bounds were not satisfied - --> tests/ui/contract/fail/message-input-non-codec.rs:18:9 + --> tests/ui/contract/fail/message/message-input-non-codec.rs:18:9 | 18 | pub fn message(&self, _input: NonCodecType) {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/message/message-input-pattern.stderr b/crates/ink/tests/ui/contract/fail/message/message-input-pattern.stderr index f74e49855d4..5e48cb8360e 100644 --- a/crates/ink/tests/ui/contract/fail/message/message-input-pattern.stderr +++ b/crates/ink/tests/ui/contract/fail/message/message-input-pattern.stderr @@ -1,5 +1,5 @@ error: ink! message arguments must have an identifier - --> tests/ui/contract/fail/message-input-pattern.rs:15:31 + --> tests/ui/contract/fail/message/message-input-pattern.rs:15:31 | 15 | pub fn message(&self, (_a, _b): (i32, i32)) {} | ^^^^^^^^^^^^^^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/message/message-multiple-wildcard-selectors.stderr b/crates/ink/tests/ui/contract/fail/message/message-multiple-wildcard-selectors.stderr index d063519224f..b58070d4286 100644 --- a/crates/ink/tests/ui/contract/fail/message/message-multiple-wildcard-selectors.stderr +++ b/crates/ink/tests/ui/contract/fail/message/message-multiple-wildcard-selectors.stderr @@ -1,11 +1,11 @@ error: encountered ink! messages with overlapping wildcard selectors - --> tests/ui/contract/fail/message-multiple-wildcard-selectors.rs:18:9 + --> tests/ui/contract/fail/message/message-multiple-wildcard-selectors.rs:18:9 | 18 | pub fn message2(&self) {} | ^^^^^^^^^^^^^^^^^^^^^^^^^ error: first ink! message with overlapping wildcard selector here - --> tests/ui/contract/fail/message-multiple-wildcard-selectors.rs:15:9 + --> tests/ui/contract/fail/message/message-multiple-wildcard-selectors.rs:15:9 | 15 | pub fn message1(&self) {} | ^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/message/message-returns-non-codec.stderr b/crates/ink/tests/ui/contract/fail/message/message-returns-non-codec.stderr index a0c984a7b94..930392d2c64 100644 --- a/crates/ink/tests/ui/contract/fail/message/message-returns-non-codec.stderr +++ b/crates/ink/tests/ui/contract/fail/message/message-returns-non-codec.stderr @@ -1,5 +1,5 @@ error[E0277]: the trait bound `NonCodecType: WrapperTypeEncode` is not satisfied - --> tests/ui/contract/fail/message-returns-non-codec.rs:18:34 + --> tests/ui/contract/fail/message/message-returns-non-codec.rs:18:34 | 18 | pub fn message(&self) -> NonCodecType { | ^^^^^^^^^^^^ the trait `WrapperTypeEncode` is not implemented for `NonCodecType` @@ -25,7 +25,7 @@ note: required by a bound in `DispatchOutput` | ^^^^^^^^^^^^^ required by this bound in `DispatchOutput` error[E0277]: the trait bound `Result: Encode` is not satisfied - --> tests/ui/contract/fail/message-returns-non-codec.rs:18:9 + --> tests/ui/contract/fail/message/message-returns-non-codec.rs:18:9 | 18 | / pub fn message(&self) -> NonCodecType { 19 | | NonCodecType @@ -43,7 +43,7 @@ note: required by a bound in `return_value` | ^^^^^^^^^^^^^ required by this bound in `return_value` error[E0599]: the method `try_invoke` exists for struct `CallBuilder, Set, ScaleEncoding>>, Set>>`, but its trait bounds were not satisfied - --> tests/ui/contract/fail/message-returns-non-codec.rs:18:9 + --> tests/ui/contract/fail/message/message-returns-non-codec.rs:18:9 | 6 | pub struct NonCodecType; | ----------------------- doesn't satisfy `NonCodecType: AbiDecodeWith`, `NonCodecType: DecodeMessageResult` or `NonCodecType: WrapperTypeDecode` diff --git a/crates/ink/tests/ui/contract/fail/message/message-returns-self.stderr b/crates/ink/tests/ui/contract/fail/message/message-returns-self.stderr index 7dea02f224d..9798c24fe79 100644 --- a/crates/ink/tests/ui/contract/fail/message/message-returns-self.stderr +++ b/crates/ink/tests/ui/contract/fail/message/message-returns-self.stderr @@ -1,5 +1,5 @@ error: ink! messages must not return `Self` - --> tests/ui/contract/fail/message-returns-self.rs:15:39 + --> tests/ui/contract/fail/message/message-returns-self.rs:15:39 | 15 | pub fn returns_self(&self) -> Self {} | ^^^^ diff --git a/crates/ink/tests/ui/contract/fail/message/message-selector-and-wildcard-selector.stderr b/crates/ink/tests/ui/contract/fail/message/message-selector-and-wildcard-selector.stderr index 246e1a606e6..787841e94a0 100644 --- a/crates/ink/tests/ui/contract/fail/message/message-selector-and-wildcard-selector.stderr +++ b/crates/ink/tests/ui/contract/fail/message/message-selector-and-wildcard-selector.stderr @@ -1,11 +1,11 @@ error: encountered ink! attribute arguments with equal kinds - --> tests/ui/contract/fail/message-selector-and-wildcard-selector.rs:14:47 + --> tests/ui/contract/fail/message/message-selector-and-wildcard-selector.rs:14:47 | 14 | #[ink(message, selector = 0xCAFEBABA, selector = _)] | ^^^^^^^^^^^^ error: first equal ink! attribute argument with equal kind here - --> tests/ui/contract/fail/message-selector-and-wildcard-selector.rs:14:24 + --> tests/ui/contract/fail/message/message-selector-and-wildcard-selector.rs:14:24 | 14 | #[ink(message, selector = 0xCAFEBABA, selector = _)] | ^^^^^^^^^^^^^^^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/message/message-selector-invalid-type-01.stderr b/crates/ink/tests/ui/contract/fail/message/message-selector-invalid-type-01.stderr index 9786542a5e0..e89e8fe50f0 100644 --- a/crates/ink/tests/ui/contract/fail/message/message-selector-invalid-type-01.stderr +++ b/crates/ink/tests/ui/contract/fail/message/message-selector-invalid-type-01.stderr @@ -1,5 +1,5 @@ error: #[ink(selector = ..)] attributes with string inputs are deprecated. use an integer instead, e.g. #[ink(selector = 1)] or #[ink(selector = 0xC0DECAFE)]. - --> tests/ui/contract/fail/message-selector-invalid-type-01.rs:14:35 + --> tests/ui/contract/fail/message/message-selector-invalid-type-01.rs:14:35 | 14 | #[ink(message, selector = "0xC0DECAFE")] | ^^^^^^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/message/message-selector-invalid-type-02.stderr b/crates/ink/tests/ui/contract/fail/message/message-selector-invalid-type-02.stderr index 3de6b9be62c..90625b2077c 100644 --- a/crates/ink/tests/ui/contract/fail/message/message-selector-invalid-type-02.stderr +++ b/crates/ink/tests/ui/contract/fail/message/message-selector-invalid-type-02.stderr @@ -1,5 +1,5 @@ error: expected 4-digit hexcode for `selector` argument, e.g. #[ink(selector = 0xC0FEBABE] - --> tests/ui/contract/fail/message-selector-invalid-type-02.rs:14:35 + --> tests/ui/contract/fail/message/message-selector-invalid-type-02.rs:14:35 | 14 | #[ink(message, selector = true)] | ^^^^ diff --git a/crates/ink/tests/ui/contract/fail/message/message-selector-missing-arg.stderr b/crates/ink/tests/ui/contract/fail/message/message-selector-missing-arg.stderr index 2e5d84a55c8..8962788857c 100644 --- a/crates/ink/tests/ui/contract/fail/message/message-selector-missing-arg.stderr +++ b/crates/ink/tests/ui/contract/fail/message/message-selector-missing-arg.stderr @@ -1,5 +1,5 @@ error: encountered #[ink(selector)] that is missing its u32 parameter. Did you mean #[ink(selector = value: u32)] ? - --> tests/ui/contract/fail/message-selector-missing-arg.rs:14:24 + --> tests/ui/contract/fail/message/message-selector-missing-arg.rs:14:24 | 14 | #[ink(message, selector)] | ^^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/message/message-selector-overlap-sol.stderr b/crates/ink/tests/ui/contract/fail/message/message-selector-overlap-sol.stderr index ca38322790a..9d5c0d6dd96 100644 --- a/crates/ink/tests/ui/contract/fail/message/message-selector-overlap-sol.stderr +++ b/crates/ink/tests/ui/contract/fail/message/message-selector-overlap-sol.stderr @@ -1,5 +1,5 @@ error[E0119]: conflicting implementations of trait `DispatchableMessageInfo<3793696718>` for type `Contract` - --> tests/ui/contract/fail/message-selector-overlap-sol.rs:16:9 + --> tests/ui/contract/fail/message/message-selector-overlap-sol.rs:16:9 | 16 | pub fn message(&self) {} | ^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/message/message-self-receiver-invalid-01.stderr b/crates/ink/tests/ui/contract/fail/message/message-self-receiver-invalid-01.stderr index 2f8df8130e3..8335cf3ff85 100644 --- a/crates/ink/tests/ui/contract/fail/message/message-self-receiver-invalid-01.stderr +++ b/crates/ink/tests/ui/contract/fail/message/message-self-receiver-invalid-01.stderr @@ -1,5 +1,5 @@ error: ink! messages must have `&self` or `&mut self` receiver - --> tests/ui/contract/fail/message-self-receiver-invalid-01.rs:15:24 + --> tests/ui/contract/fail/message/message-self-receiver-invalid-01.rs:15:24 | 15 | pub fn message(this: &Self) {} | ^^^^^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/message/message-self-receiver-invalid-02.stderr b/crates/ink/tests/ui/contract/fail/message/message-self-receiver-invalid-02.stderr index 3caaa0e6a71..b7dd52746a2 100644 --- a/crates/ink/tests/ui/contract/fail/message/message-self-receiver-invalid-02.stderr +++ b/crates/ink/tests/ui/contract/fail/message/message-self-receiver-invalid-02.stderr @@ -1,5 +1,5 @@ error: ink! messages must have `&self` or `&mut self` receiver - --> tests/ui/contract/fail/message-self-receiver-invalid-02.rs:15:24 + --> tests/ui/contract/fail/message/message-self-receiver-invalid-02.rs:15:24 | 15 | pub fn message(this: &mut Self) {} | ^^^^^^^^^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/message/message-self-receiver-invalid-03.stderr b/crates/ink/tests/ui/contract/fail/message/message-self-receiver-invalid-03.stderr index 0c95e3170d5..c48e1cc8bc4 100644 --- a/crates/ink/tests/ui/contract/fail/message/message-self-receiver-invalid-03.stderr +++ b/crates/ink/tests/ui/contract/fail/message/message-self-receiver-invalid-03.stderr @@ -1,5 +1,5 @@ error: ink! messages must have `&self` or `&mut self` receiver - --> tests/ui/contract/fail/message-self-receiver-invalid-03.rs:15:24 + --> tests/ui/contract/fail/message/message-self-receiver-invalid-03.rs:15:24 | 15 | pub fn message(self) {} | ^^^^ diff --git a/crates/ink/tests/ui/contract/fail/message/message-self-receiver-missing.stderr b/crates/ink/tests/ui/contract/fail/message/message-self-receiver-missing.stderr index 5a145a27650..05a29c5144b 100644 --- a/crates/ink/tests/ui/contract/fail/message/message-self-receiver-missing.stderr +++ b/crates/ink/tests/ui/contract/fail/message/message-self-receiver-missing.stderr @@ -1,5 +1,5 @@ error: ink! messages must have `&self` or `&mut self` receiver - --> tests/ui/contract/fail/message-self-receiver-missing.rs:14:9 + --> tests/ui/contract/fail/message/message-self-receiver-missing.rs:14:9 | 14 | / #[ink(message)] 15 | | pub fn message() {} diff --git a/crates/ink/tests/ui/contract/fail/message/message-unknown-property.stderr b/crates/ink/tests/ui/contract/fail/message/message-unknown-property.stderr index cd1cf9fcd7e..ff284828bb1 100644 --- a/crates/ink/tests/ui/contract/fail/message/message-unknown-property.stderr +++ b/crates/ink/tests/ui/contract/fail/message/message-unknown-property.stderr @@ -1,5 +1,5 @@ error: encountered unknown ink! attribute argument: unknown_marker - --> tests/ui/contract/fail/message-unknown-property.rs:15:15 + --> tests/ui/contract/fail/message/message-unknown-property.rs:15:15 | 15 | #[ink(unknown_marker)] | ^^^^^^^^^^^^^^ diff --git a/crates/ink/tests/ui/contract/fail/trait/trait-impl-namespace-invalid.stderr b/crates/ink/tests/ui/contract/fail/trait/trait-impl-namespace-invalid.stderr index bf03fd4337f..e2e36af3b7e 100644 --- a/crates/ink/tests/ui/contract/fail/trait/trait-impl-namespace-invalid.stderr +++ b/crates/ink/tests/ui/contract/fail/trait/trait-impl-namespace-invalid.stderr @@ -1,5 +1,5 @@ error: namespace ink! property is not allowed on ink! trait implementation blocks - --> tests/ui/contract/fail/trait-impl-namespace-invalid.rs:23:5 + --> tests/ui/contract/fail/trait/trait-impl-namespace-invalid.rs:23:5 | 23 | / #[ink(namespace = "namespace")] 24 | | impl TraitDefinition for Contract { diff --git a/crates/ink/tests/ui/contract/fail/trait/trait-message-payable-mismatch.stderr b/crates/ink/tests/ui/contract/fail/trait/trait-message-payable-mismatch.stderr index 4c6a717217f..5874f963aa3 100644 --- a/crates/ink/tests/ui/contract/fail/trait/trait-message-payable-mismatch.stderr +++ b/crates/ink/tests/ui/contract/fail/trait/trait-message-payable-mismatch.stderr @@ -1,5 +1,5 @@ error[E0308]: mismatched types - --> tests/ui/contract/fail/trait-message-payable-mismatch.rs:25:9 + --> tests/ui/contract/fail/trait/trait-message-payable-mismatch.rs:25:9 | 25 | fn message(&self) {} | ^^^^^^^^^^^^^^^^^^^^ expected `false`, found `true` diff --git a/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-mismatch.stderr b/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-mismatch.stderr index c1070999dba..3b92fc289be 100644 --- a/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-mismatch.stderr +++ b/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-mismatch.stderr @@ -1,5 +1,5 @@ error[E0308]: mismatched types - --> tests/ui/contract/fail/trait-message-selector-mismatch.rs:25:9 + --> tests/ui/contract/fail/trait/trait-message-selector-mismatch.rs:25:9 | 25 | fn message(&self) {} | ^^^^^^^^^^^^^^^^^^^^ expected `1`, found `2` diff --git a/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-1.stderr b/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-1.stderr index 128d7f8d50d..264a22e6f12 100644 --- a/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-1.stderr +++ b/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-1.stderr @@ -1,5 +1,5 @@ error[E0119]: conflicting implementations of trait `DispatchableMessageInfo<1083895717>` for type `Contract` - --> tests/ui/contract/fail/trait-message-selector-overlap-1.rs:43:9 + --> tests/ui/contract/fail/trait/trait-message-selector-overlap-1.rs:43:9 | 38 | fn message(&self) {} | -------------------- first implementation here @@ -8,7 +8,7 @@ error[E0119]: conflicting implementations of trait `DispatchableMessageInfo<1083 | ^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Contract` error[E0119]: conflicting implementations of trait `TraitCallForwarderFor<1083895717>` for type `contract::_::CallBuilder` - --> tests/ui/contract/fail/trait-message-selector-overlap-1.rs:41:5 + --> tests/ui/contract/fail/trait/trait-message-selector-overlap-1.rs:41:5 | 36 | / impl TraitDefinition1 for Contract { 37 | | #[ink(message)] diff --git a/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-2.stderr b/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-2.stderr index 56ae7f12f8e..bfb28af6ecb 100644 --- a/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-2.stderr +++ b/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-2.stderr @@ -1,5 +1,5 @@ error[E0119]: conflicting implementations of trait `DispatchableMessageInfo<1518209067>` for type `Contract` - --> tests/ui/contract/fail/trait-message-selector-overlap-2.rs:43:9 + --> tests/ui/contract/fail/trait/trait-message-selector-overlap-2.rs:43:9 | 38 | fn message(&self) {} | -------------------- first implementation here @@ -8,7 +8,7 @@ error[E0119]: conflicting implementations of trait `DispatchableMessageInfo<1518 | ^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Contract` error[E0119]: conflicting implementations of trait `TraitCallForwarderFor<1518209067>` for type `contract::_::CallBuilder` - --> tests/ui/contract/fail/trait-message-selector-overlap-2.rs:41:5 + --> tests/ui/contract/fail/trait/trait-message-selector-overlap-2.rs:41:5 | 36 | / impl TraitDefinition1 for Contract { 37 | | #[ink(message)] diff --git a/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-3.stderr b/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-3.stderr index d6bc0eb22f4..f3f9528f5cd 100644 --- a/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-3.stderr +++ b/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-3.stderr @@ -1,5 +1,5 @@ error[E0119]: conflicting implementations of trait `DispatchableMessageInfo<42>` for type `Contract` - --> tests/ui/contract/fail/trait-message-selector-overlap-3.rs:43:9 + --> tests/ui/contract/fail/trait/trait-message-selector-overlap-3.rs:43:9 | 38 | fn message1(&self) {} | --------------------- first implementation here @@ -8,7 +8,7 @@ error[E0119]: conflicting implementations of trait `DispatchableMessageInfo<42>` | ^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Contract` error[E0119]: conflicting implementations of trait `TraitCallForwarderFor<42>` for type `contract::_::CallBuilder` - --> tests/ui/contract/fail/trait-message-selector-overlap-3.rs:41:5 + --> tests/ui/contract/fail/trait/trait-message-selector-overlap-3.rs:41:5 | 36 | / impl TraitDefinition1 for Contract { 37 | | #[ink(message)] diff --git a/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-sol.stderr b/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-sol.stderr index 5ef548ca394..bcf8c2c8d17 100644 --- a/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-sol.stderr +++ b/crates/ink/tests/ui/contract/fail/trait/trait-message-selector-overlap-sol.stderr @@ -1,5 +1,5 @@ error[E0119]: conflicting implementations of trait `DispatchableMessageInfo<3793696718>` for type `Contract` - --> tests/ui/contract/fail/trait-message-selector-overlap-sol.rs:28:9 + --> tests/ui/contract/fail/trait/trait-message-selector-overlap-sol.rs:28:9 | 23 | pub fn message(&self) {} | ------------------------ first implementation here diff --git a/crates/ink/tests/ui/contract/fail/trait/trait-message-wildcard-selector.stderr b/crates/ink/tests/ui/contract/fail/trait/trait-message-wildcard-selector.stderr index 7f3d044c24e..fbc2f2bac3d 100644 --- a/crates/ink/tests/ui/contract/fail/trait/trait-message-wildcard-selector.stderr +++ b/crates/ink/tests/ui/contract/fail/trait/trait-message-wildcard-selector.stderr @@ -1,17 +1,17 @@ error: encountered conflicting ink! attribute argument - --> tests/ui/contract/fail/trait-message-wildcard-selector.rs:6:24 + --> tests/ui/contract/fail/trait/trait-message-wildcard-selector.rs:6:24 | 6 | #[ink(message, selector = _)] | ^^^^^^^^^^^^ error: wildcard selectors are only supported for inherent ink! messages or constructors, not for traits. - --> tests/ui/contract/fail/trait-message-wildcard-selector.rs:6:24 + --> tests/ui/contract/fail/trait/trait-message-wildcard-selector.rs:6:24 | 6 | #[ink(message, selector = _)] | ^^^^^^^^^^^^ error[E0432]: unresolved import `super::foo::TraitDefinition` - --> tests/ui/contract/fail/trait-message-wildcard-selector.rs:13:9 + --> tests/ui/contract/fail/trait/trait-message-wildcard-selector.rs:13:9 | 13 | use super::foo::TraitDefinition; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `TraitDefinition` in `foo` From 12fc59751a2e4acaf7f292d1fc5338d65012585c Mon Sep 17 00:00:00 2001 From: Michael Mueller Date: Mon, 17 Mar 2025 15:17:00 +0100 Subject: [PATCH 13/15] Update `Cargo.lock` --- Cargo.lock | 48 +++++++++++++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 19 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 09f31caa4af..089689ad24b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1506,7 +1506,7 @@ checksum = "cd7e35aee659887cbfb97aaf227ac12cad1a9d7c71e55ff3376839ed4e282d08" [[package]] name = "contract-build" version = "6.0.0-alpha" -source = "git+https://github.com/use-ink/cargo-contract?branch=master#93de0631ad1703ca30a90f12c581baece0384570" +source = "git+https://github.com/use-ink/cargo-contract?branch=master#5960c3ef38caecf60a8a4f5d40895ed05a86e3c1" dependencies = [ "alloy-json-abi", "anyhow", @@ -1548,7 +1548,7 @@ dependencies = [ [[package]] name = "contract-metadata" version = "6.0.0-alpha" -source = "git+https://github.com/use-ink/cargo-contract?branch=master#93de0631ad1703ca30a90f12c581baece0384570" +source = "git+https://github.com/use-ink/cargo-contract?branch=master#5960c3ef38caecf60a8a4f5d40895ed05a86e3c1" dependencies = [ "anyhow", "impl-serde", @@ -2355,9 +2355,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "foldhash" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "form_urlencoded" @@ -5824,15 +5824,15 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.23" +version = "0.23.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47796c98c480fce5406ef69d1c76378375492c3b0a0de587be0c1d9feb12f395" +checksum = "822ee9188ac4ec04a2f0531e55d035fb2de73f18b41a63c70c2712503b6fb13c" dependencies = [ "log", "once_cell", "ring 0.17.14", "rustls-pki-types", - "rustls-webpki", + "rustls-webpki 0.103.0", "subtle", "zeroize", ] @@ -5879,7 +5879,7 @@ dependencies = [ "rustls", "rustls-native-certs", "rustls-platform-verifier-android", - "rustls-webpki", + "rustls-webpki 0.102.8", "security-framework", "security-framework-sys", "webpki-roots", @@ -5897,6 +5897,16 @@ name = "rustls-webpki" version = "0.102.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +dependencies = [ + "rustls-pki-types", + "untrusted", +] + +[[package]] +name = "rustls-webpki" +version = "0.103.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0aa4eeac2588ffff23e9d7a7e9b3f971c5fb5b7ebc9452745e0c232c64f83b2f" dependencies = [ "ring 0.17.14", "rustls-pki-types", @@ -6945,7 +6955,7 @@ dependencies = [ [[package]] name = "sp-crypto-ec-utils" version = "0.10.0" -source = "git+https://github.com/paritytech/polkadot-sdk#762f902397a585175a6dae26f021e52a20328138" +source = "git+https://github.com/paritytech/polkadot-sdk#5f44a778d05ec7e1a8a63534a7de6b78fad3d01c" dependencies = [ "ark-bls12-377", "ark-bls12-377-ext", @@ -7012,7 +7022,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#762f902397a585175a6dae26f021e52a20328138" +source = "git+https://github.com/paritytech/polkadot-sdk#5f44a778d05ec7e1a8a63534a7de6b78fad3d01c" dependencies = [ "proc-macro2", "quote", @@ -7032,7 +7042,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.25.0" -source = "git+https://github.com/paritytech/polkadot-sdk#762f902397a585175a6dae26f021e52a20328138" +source = "git+https://github.com/paritytech/polkadot-sdk#5f44a778d05ec7e1a8a63534a7de6b78fad3d01c" dependencies = [ "environmental", "parity-scale-codec", @@ -7221,7 +7231,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#762f902397a585175a6dae26f021e52a20328138" +source = "git+https://github.com/paritytech/polkadot-sdk#5f44a778d05ec7e1a8a63534a7de6b78fad3d01c" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -7253,7 +7263,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#762f902397a585175a6dae26f021e52a20328138" +source = "git+https://github.com/paritytech/polkadot-sdk#5f44a778d05ec7e1a8a63534a7de6b78fad3d01c" dependencies = [ "Inflector", "expander", @@ -7318,7 +7328,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk?rev=f8c90b2a01ec77579bc [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#762f902397a585175a6dae26f021e52a20328138" +source = "git+https://github.com/paritytech/polkadot-sdk#5f44a778d05ec7e1a8a63534a7de6b78fad3d01c" [[package]] name = "sp-storage" @@ -7335,7 +7345,7 @@ dependencies = [ [[package]] name = "sp-storage" version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#762f902397a585175a6dae26f021e52a20328138" +source = "git+https://github.com/paritytech/polkadot-sdk#5f44a778d05ec7e1a8a63534a7de6b78fad3d01c" dependencies = [ "impl-serde", "parity-scale-codec", @@ -7370,7 +7380,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#762f902397a585175a6dae26f021e52a20328138" +source = "git+https://github.com/paritytech/polkadot-sdk#5f44a778d05ec7e1a8a63534a7de6b78fad3d01c" dependencies = [ "parity-scale-codec", "tracing", @@ -7452,7 +7462,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#762f902397a585175a6dae26f021e52a20328138" +source = "git+https://github.com/paritytech/polkadot-sdk#5f44a778d05ec7e1a8a63534a7de6b78fad3d01c" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -9067,9 +9077,9 @@ dependencies = [ [[package]] name = "zip" -version = "2.2.3" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b280484c454e74e5fff658bbf7df8fdbe7a07c6b2de4a53def232c15ef138f3a" +checksum = "84e9a772a54b54236b9b744aaaf8d7be01b4d6e99725523cb82cb32d1c81b1d7" dependencies = [ "arbitrary", "crc32fast", From 4ac877faba84f9da273d172a509c961ca4383d02 Mon Sep 17 00:00:00 2001 From: Michael Mueller Date: Mon, 17 Mar 2025 15:25:55 +0100 Subject: [PATCH 14/15] Change nightly version --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fe501c52b49..de5be37a628 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -715,7 +715,7 @@ jobs: # the readme + test comments explain why `32`, in short because the tests write # content into the buffer and want to provoke an exhaustion of the buffer. cargo clean --manifest-path integration-tests/internal/static-buffer/Cargo.toml - INK_STATIC_BUFFER_SIZE=32 cargo +nightly test --manifest-path integration-tests/internal/static-buffer/Cargo.toml --all-features + INK_STATIC_BUFFER_SIZE=32 cargo +nightly-2025-02-20 test --manifest-path integration-tests/internal/static-buffer/Cargo.toml --all-features - name: Run E2E test with on-chain contract # todo disabled until `cargo-contract` supports mapping the account @@ -727,11 +727,11 @@ jobs: # run flipper E2E test with on-chain contract substrate-contracts-node -lruntime::revive=debug 2>&1 & cargo +nightly contract build --release --manifest-path integration-tests/public/flipper/Cargo.toml - export CONTRACT_ADDR_HEX=$(cargo +nightly contract instantiate \ + export CONTRACT_ADDR_HEX=$(cargo +nightly-2025-02-20 contract instantiate \ --manifest-path integration-tests/public/flipper/Cargo.toml \ --suri //Alice --args true -x -y --output-json | \ jq -r .contract | xargs subkey inspect | grep -o "0x.*" | head -n1) - CONTRACTS_NODE_URL=ws://127.0.0.1:9944 cargo +nightly test \ + CONTRACTS_NODE_URL=ws://127.0.0.1:9944 cargo +nightly-2025-02-20 test \ --features e2e-tests \ --manifest-path integration-tests/public/flipper/Cargo.toml \ e2e_test_deployed_contract \ From 04df3dff4264b7751c828c00be0bcd3d023c6f1e Mon Sep 17 00:00:00 2001 From: Michael Mueller Date: Mon, 17 Mar 2025 16:20:04 +0100 Subject: [PATCH 15/15] Fix tests