You can return `var int` to make it behave more like a normal field:
    
    
    type
      Foo* = object
        bar: int
    
    proc bar*(f: Foo): int {.inline.} =
      f.bar
    
    proc bar*(f: var Foo): var int {.inline.} =
      f.bar
    
    var f: Foo
    f.bar = 1
    f.bar += 2
    echo f.bar
    
    
    Run

Reply via email to