From b823691349fc9f65f3e89b12413a36e12deed111 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Matos?= Date: Tue, 19 Nov 2024 11:13:54 +0000 Subject: [PATCH] Add repro for issue #6335. (#6730) Closes https://github.com/FuelLabs/sway/issues/6335. ## Checklist - [x] I have linked to any relevant issues. - [x] I have commented my code, particularly in hard-to-understand areas. - [x] I have updated the documentation where relevant (API docs, the reference, and the Sway book). - [ ] If my change requires substantial documentation changes, I have [requested support from the DevRel team](https://github.com/FuelLabs/devrel-requests/issues/new/choose) - [x] I have added tests that prove my fix is effective or that my feature works. - [x] I have added (or requested a maintainer to add) the necessary `Breaking*` or `New Feature` labels where relevant. - [x] I have done my best to ensure that my PR adheres to [the Fuel Labs Code Review Standards](https://github.com/FuelLabs/rfcs/blob/master/text/code-standards/external-contributors.md). - [x] I have requested a review from the relevant team or maintainers. --- .../test_contracts/issue_6335_repro/Forc.lock | 13 ++++++++++ .../test_contracts/issue_6335_repro/Forc.toml | 9 +++++++ .../issue_6335_repro/src/main.sw | 25 +++++++++++++++++++ .../test_contracts/issue_6335_repro/test.toml | 4 +++ 4 files changed, 51 insertions(+) create mode 100644 test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_6335_repro/Forc.lock create mode 100644 test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_6335_repro/Forc.toml create mode 100644 test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_6335_repro/src/main.sw create mode 100644 test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_6335_repro/test.toml diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_6335_repro/Forc.lock b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_6335_repro/Forc.lock new file mode 100644 index 00000000000..efaec2f6f2a --- /dev/null +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_6335_repro/Forc.lock @@ -0,0 +1,13 @@ +[[package]] +name = "core" +source = "path+from-root-2A7B279266ACFF97" + +[[package]] +name = "issue_6335_repro" +source = "member" +dependencies = ["std"] + +[[package]] +name = "std" +source = "path+from-root-2A7B279266ACFF97" +dependencies = ["core"] diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_6335_repro/Forc.toml b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_6335_repro/Forc.toml new file mode 100644 index 00000000000..5f7f8ed6230 --- /dev/null +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_6335_repro/Forc.toml @@ -0,0 +1,9 @@ +[project] +authors = ["Fuel Labs "] +entry = "main.sw" +implicit-std = false +license = "Apache-2.0" +name = "issue_6335_repro" + +[dependencies] +std = { path = "../../../../reduced_std_libs/sway-lib-std-conversions" } diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_6335_repro/src/main.sw b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_6335_repro/src/main.sw new file mode 100644 index 00000000000..36c95885603 --- /dev/null +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_6335_repro/src/main.sw @@ -0,0 +1,25 @@ +contract; + +use std::bytes::*; + +abi MyAbi { + fn test() -> u64; +} + +abi FakeAbi { + fn test() -> Bytes; +} + +impl MyAbi for Contract { + fn test() -> u64 { + 64 + } +} + +#[test] +fn test() { + let caller = abi(FakeAbi, CONTRACT_ID); + let res = caller.test(); + assert(res.len() == 64); + let s: str[30] = abi_decode(res.as_raw_slice()); +} diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_6335_repro/test.toml b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_6335_repro/test.toml new file mode 100644 index 00000000000..526e7df8fdb --- /dev/null +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_6335_repro/test.toml @@ -0,0 +1,4 @@ +category = "compile" +validate_abi = false +validate_storage_slots = false +expected_warnings = 0