Open Wodann opened 1 year ago
Currently, Mun only allows functions to be defined independent from a struct. We want to be able to associate functions with a struct type, as such:
pub struct Foo { x: f32, y: f32 } impl Foo { pub fn new(x: f32, y: f32) -> Self { Self { x, y } } pub fn set_x(&mut self, x: f32) { self.x = x; } }
The above syntax is hypothetical. An important question to consider is whether we need to have a special case for struct(gc) vs struct(value).
struct(gc)
struct(value)
Similar to Rust, impl blocks for member functions can be spread across multiple source files.
impl
Definition of Done
self
Currently, Mun only allows functions to be defined independent from a struct. We want to be able to associate functions with a struct type, as such:
The above syntax is hypothetical. An important question to consider is whether we need to have a special case for
struct(gc)
vsstruct(value)
.Similar to Rust,
impl
blocks for member functions can be spread across multiple source files.Definition of Done
impl
blocksself
in function signatures https://github.com/mun-lang/mun/pull/564