Optional explicit `self` parameter declaration in methods

Consider dropping the "self:" part, kind of less noisy without it:

struct Foo {
  func method()
  // can also be written (but obviously there's no need):
  func method(Self)

  mutating func mutate()
  // can also be written as:
  func mutate(inout Self)
}

I must admit the first parameter location is quite logical place to put attributes on self (especially if the same attributes can be independently applied to the function as a whole as well to mean a different thing).

1 Like