mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-30 18:02:05 +00:00
* make more standard libraries work with `nimPreviewSlimSystem` * typo * part two * Delete specutils.nim * fixes more tests * more fixes * fixes tests * fixes three more tests * add formatfloat import * fix * last
39 lines
711 B
Nim
39 lines
711 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"
|
|
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
|