Sisu
E0058

Field called as a method

Error

Built from the repository at commit a8614dc.

A field is read without (): s.side. With (), s.side() calls a method, and the class has no method of that name.

Why

A field holds a value, not code to run, so a field cannot be called.

Broken

class Square {
    side: i64
}

fn main() {
    let s = Square(side: 2)
    print(s.side())
}

What sisu says

error[E0058]: `side` is a field of `Square`, not a method
 --> E0058.sisu:7:13
  |
7 |     print(s.side())
  |             ^^^^

sisu: 1 error
sisu: for more on a code, run `sisu explain <code>`: E0058

Fixed

class Square {
    side: i64
}

fn main() {
    let s = Square(side: 2)
    print(s.side)
}

Related

  • E0057: a method read as a field.