M(
type
SomeObjectObj = object
data: ptr UncheckedArray[char]
SomeObject = ref SomeObjectObj
proc `=destroy`(x: var SomeObjectObj) =
if x.data != nil:
dealloc(x.data)
x.data = nil
proc newSomeObject: SomeObject =
new(result)
result.data = cast[ptr UncheckedArray[char]](alloc(256))
proc main =
var test = newSomeObject()
var other = test
test.data[0] = 'a'
echo other.data[0]
main()
