* fix #14217 Co-authored-by: cooldome <ariabushenko@bk.ru>
This commit is contained in:
parent
64e839d5fd
commit
eefada8a88
3 changed files with 29 additions and 3 deletions
|
|
@ -32,3 +32,29 @@ proc test1() =
|
|||
echo "test1 OK"
|
||||
|
||||
test1()
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# issue #14217
|
||||
|
||||
type
|
||||
MyObject = object
|
||||
p: ptr int
|
||||
|
||||
proc `=destroy`(x: var MyObject) =
|
||||
if x.p != nil:
|
||||
deallocShared(x.p)
|
||||
|
||||
proc `=`(x: var MyObject, y: MyObject) {.error.}
|
||||
|
||||
proc newMyObject(i: int): MyObject =
|
||||
result.p = create(int)
|
||||
result.p[] = i
|
||||
|
||||
proc test: seq[MyObject] =
|
||||
for i in 0..3:
|
||||
let x = newMyObject(i)
|
||||
result.add x
|
||||
|
||||
var x = test()
|
||||
for i in 0..3:
|
||||
doAssert(x[i].p[] == i)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue