diff --git a/crates/lang/codegen/src/generator/cross_calling.rs b/crates/lang/codegen/src/generator/cross_calling.rs index f6eb243ddd2..bd0aed45485 100644 --- a/crates/lang/codegen/src/generator/cross_calling.rs +++ b/crates/lang/codegen/src/generator/cross_calling.rs @@ -685,7 +685,7 @@ impl CrossCalling<'_> { fn #ident( #( #input_bindings : #input_types ),* ) -> Self::#output_ident { - ::ink_env::call::build_create::() + ::ink_env::call::build_create::() .exec_input( ::ink_env::call::ExecutionInput::new( ::ink_env::call::Selector::new([ #( #composed_selector ),* ]) diff --git a/crates/lang/macro/tests/compile_tests.rs b/crates/lang/macro/tests/compile_tests.rs index ed2d792c42c..93548b31a6c 100644 --- a/crates/lang/macro/tests/compile_tests.rs +++ b/crates/lang/macro/tests/compile_tests.rs @@ -23,9 +23,10 @@ fn compile_tests() { t.pass("tests/ui/pass/05-erc721-contract.rs"); t.pass("tests/ui/pass/06-non-ink-items.rs"); t.pass("tests/ui/pass/07-flipper-as-dependency.rs"); - t.pass("tests/ui/pass/08-static-env.rs"); - t.pass("tests/ui/pass/09-derive-for-storage.rs"); - t.pass("tests/ui/pass/10-alias-storage-struct-impl.rs"); + t.pass("tests/ui/pass/08-flipper-as-dependency-trait.rs"); + t.pass("tests/ui/pass/09-static-env.rs"); + t.pass("tests/ui/pass/10-derive-for-storage.rs"); + t.pass("tests/ui/pass/11-alias-storage-struct-impl.rs"); t.compile_fail("tests/ui/fail/C-00-constructor-self-ref.rs"); t.compile_fail("tests/ui/fail/C-01-constructor-self-mut.rs"); diff --git a/crates/lang/macro/tests/ui/pass/08-flipper-as-dependency-trait.rs b/crates/lang/macro/tests/ui/pass/08-flipper-as-dependency-trait.rs new file mode 100644 index 00000000000..59514a4ea79 --- /dev/null +++ b/crates/lang/macro/tests/ui/pass/08-flipper-as-dependency-trait.rs @@ -0,0 +1,40 @@ +use ink_lang as ink; + +#[ink::contract(compile_as_dependency = true)] +mod flipper { + #[ink_lang::trait_definition] + pub trait FlipperTrait { + #[ink(constructor)] + fn new() -> Self; + + #[ink(message)] + fn flip(&mut self); + + #[ink(message)] + fn get(&self) -> bool; + } + + #[ink(storage)] + pub struct Flipper { + value: bool, + } + + impl FlipperTrait for Flipper { + #[ink(constructor)] + fn new() -> Self { + Self::default() + } + + #[ink(message)] + fn flip(&mut self) { + self.value = !self.value; + } + + #[ink(message)] + fn get(&self) -> bool { + self.value + } + } +} + +fn main() {} diff --git a/crates/lang/macro/tests/ui/pass/08-static-env.rs b/crates/lang/macro/tests/ui/pass/09-static-env.rs similarity index 100% rename from crates/lang/macro/tests/ui/pass/08-static-env.rs rename to crates/lang/macro/tests/ui/pass/09-static-env.rs diff --git a/crates/lang/macro/tests/ui/pass/09-derive-for-storage.rs b/crates/lang/macro/tests/ui/pass/10-derive-for-storage.rs similarity index 100% rename from crates/lang/macro/tests/ui/pass/09-derive-for-storage.rs rename to crates/lang/macro/tests/ui/pass/10-derive-for-storage.rs diff --git a/crates/lang/macro/tests/ui/pass/10-alias-storage-struct-impl.rs b/crates/lang/macro/tests/ui/pass/11-alias-storage-struct-impl.rs similarity index 100% rename from crates/lang/macro/tests/ui/pass/10-alias-storage-struct-impl.rs rename to crates/lang/macro/tests/ui/pass/11-alias-storage-struct-impl.rs