FuelLabs/sway

Contract self impl

Open

#5,905 opened on Apr 23, 2024

View on GitHub
 (2 comments) (0 reactions) (0 assignees)Rust (5,421 forks)batch import
ODHack12compiler: frontendcompiler: parsergood first issuelanguage featureteam:compiler

Repository metrics

Stars
 (61,702 stars)
PR merge metrics
 (Avg merge 5d 4h) (19 merged PRs in 30d)

Description

Allow self impl for contracts as a shorthand for an anonymous ABI spec. The point is to not have to write an ABI type for very small contracts.

This:

contract;
impl Contract {
    fn foo() -> u64 { 0 }
}

Should produce the same binary and ABI spec as:

contract;
abi MyAbi {
    fn foo() -> u64;
}
impl MyAbi for Contract {
    fn foo() -> u64 { 0 }
}

Contributor guide