* fixes #16069; refs https://github.com/nim-lang/RFCs/issues/257 [backport:1.2] [backport:1.4] * make tests green again
This commit is contained in:
parent
1d14b2c9e6
commit
d306a04466
8 changed files with 29 additions and 15 deletions
|
|
@ -46,7 +46,7 @@ var
|
|||
lvalue
|
||||
lnext
|
||||
_
|
||||
`=copy`(lresult, [123])
|
||||
lresult = @[123]
|
||||
_ = (
|
||||
let blitTmp = lresult
|
||||
blitTmp, ";")
|
||||
|
|
|
|||
|
|
@ -102,17 +102,6 @@ block:
|
|||
let a2 = (11,)
|
||||
doAssert byLent(a2) == (11,)
|
||||
|
||||
block:
|
||||
when (defined(c) or defined(cpp)) and defined(release):
|
||||
discard # probably not a bug since optimizer is free to pass by value, and `unsafeAddr` is used
|
||||
else:
|
||||
var a = @[12]
|
||||
doAssert byPtr(a)[] == @[12]
|
||||
let a2 = [13]
|
||||
doAssert byPtr(a2)[] == [13]
|
||||
let a3 = 14
|
||||
doAssert byPtr(a3)[] == 14
|
||||
|
||||
block:
|
||||
proc byLent2[T](a: seq[T]): lent T = a[1]
|
||||
var a = @[20,21,22]
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ discard """
|
|||
(name: "hello")
|
||||
(-1, 0)
|
||||
(FirstName: "James", LastName: "Franco")
|
||||
[1, 2, 3]
|
||||
'''
|
||||
"""
|
||||
|
||||
|
|
@ -74,4 +75,21 @@ static: # issue #11861
|
|||
|
||||
static: # issue #15662
|
||||
proc a(T: typedesc) = echo T.type
|
||||
a((int, int))
|
||||
a((int, int))
|
||||
|
||||
# bug #16069
|
||||
type
|
||||
E = enum
|
||||
val1, val2
|
||||
Obj = object
|
||||
case k: E
|
||||
of val1:
|
||||
x: array[3, int]
|
||||
of val2:
|
||||
y: uint32
|
||||
|
||||
const
|
||||
foo = [1, 2, 3]
|
||||
arr = Obj(k: val1, x: foo)
|
||||
|
||||
echo arr.x
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue