mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 01:14:41 +00:00
* remove `shallow` seqs/strings for ORC * add a changelog item * change url of DelaunayNim
40 lines
737 B
Nim
40 lines
737 B
Nim
discard """
|
|
matrix: "--gc:refc; --gc:orc"
|
|
"""
|
|
|
|
import "$lib/.." / compiler/strutils2
|
|
import std/assertions
|
|
|
|
block: # setLen
|
|
var a = "abc"
|
|
a.setLen 0
|
|
a.setLen 3, isInit = false
|
|
when defined(gcRefc): # bug #19763
|
|
doAssert a[1] == 'b'
|
|
a.setLen 0
|
|
a.setLen 3, isInit = true
|
|
doAssert a[1] == '\0'
|
|
|
|
block: # forceCopy
|
|
var a: string
|
|
a = "foo"
|
|
when defined(gcRefc):
|
|
shallow(a)
|
|
var b: string
|
|
b = a
|
|
doAssert b[0].addr == a[0].addr
|
|
var c: string
|
|
c.forceCopy a
|
|
doAssert c == a
|
|
doAssert c[0].addr != a[0].addr
|
|
|
|
block: # toLowerAscii
|
|
var a = "fooBAr"
|
|
a.toLowerAscii
|
|
doAssert a == "foobar"
|
|
|
|
block: # dataPointer
|
|
var a: string
|
|
discard a.dataPointer
|
|
# doAssert a.dataPointer == nil # not guaranteed
|