* fixes #15361; better cursor inference
This commit is contained in:
Andreas Rumpf 2020-09-24 15:41:45 +02:00 • committed by GitHub
commit 4ec5cbac0d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 196 additions and 45 deletions

View file

@ -23,17 +23,18 @@ joinable: false
type T = object
proc `=`(lhs: var T, rhs: T) =
echo "assign"
echo "assign"
proc `=destroy`(v: var T) =
echo "destroy"
echo "destroy"
proc use(x: T) = discard
proc usedToBeBlock =
var v1 : T
var v2 : T = v1
use v1
var v1 = T()
var v2: T = v1
discard addr(v2) # prevent cursorfication
use v1
usedToBeBlock()

View file

@ -96,14 +96,16 @@ proc info =
allocCount = 0
deallocCount = 0
proc copy(a: Matrix): Matrix = a
proc test1 =
var a = matrix(5, 5, 1.0)
var b = a
var b = copy a
var c = a + b
proc test2 =
var a = matrix(5, 5, 1.0)
var b = a
var b = copy a
var c = -a
proc test3 =