original.name="MessageRef_Valid_2"
======
>>> main.whiley
type FileReader is &{int position}
type Reader is {
FileReader thus,
method read(FileReader, int) -> (int)
}
method read(FileReader _this, int amount) -> int:
int r = amount + _this->position
return r
method openReader() -> Reader:
FileReader proc = new {position: 123}
return {thus: proc, read: &read}
public export method test() :
Reader reader = openReader()
FileReader target = reader.thus
int data = reader.read(target, 1)
assume data == 124
---