Skip to content

impl blocks for struct functions #503

Open
@Wodann

Description

@Wodann

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).

Similar to Rust, impl blocks for member functions can be spread across multiple source files.

Definition of Done

Metadata

Metadata

Labels

trackingTracking issue for an epic

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions