In C or C++ or in Go it would just be a matter of using a reference operator : 
f(&x), x being a "plain type".

How does it work in Nim?

Ex: in the example hereunder, how do you pass ob1 to say() (obviously, it is 
not say(&ob1) or say(addr(ob1)))
    
    
    type
        rob = ref ob
        ob = object
            key: int
    
    proc say(r : rob) =
        echo r.key
    
    var ob1 = ob(key:42)
    
    
    Run

Reply via email to