Skip to content

impl blocks for struct functions #503

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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