Use a distinct type
    
    
    type MyReadOnlyPtr[T] = distinct ptr T
    
    proc `==`(a: var MyReadOnlyPtr, b: MyReadOnlyPtr){.error: "Copying is 
verboten".}
    
    
    Run

For deep immutability, you can get some inspiration from what I describe here 
in the deep immutability section: 
[https://github.com/mratsim/Arraymancer/pull/420](https://github.com/mratsim/Arraymancer/pull/420)

Reply via email to