mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-04 12:07:51 +00:00
Fixes #2030
This commit is contained in:
@@ -306,7 +306,7 @@ proc semLowHigh(c: PContext, n: PNode, m: TMagic): PNode =
|
||||
var typ = skipTypes(n.sons[1].typ, abstractVarRange +
|
||||
{tyTypeDesc, tyFieldAccessor})
|
||||
case typ.kind
|
||||
of tySequence, tyString, tyOpenArray, tyVarargs:
|
||||
of tySequence, tyString, tyCString, tyOpenArray, tyVarargs:
|
||||
n.typ = getSysType(tyInt)
|
||||
of tyArrayConstr, tyArray:
|
||||
n.typ = typ.sons[0] # indextype
|
||||
|
||||
@@ -665,8 +665,8 @@ proc getConstExpr(m: PSym, n: PNode): PNode =
|
||||
of mLow:
|
||||
result = newIntNodeT(firstOrd(n.sons[1].typ), n)
|
||||
of mHigh:
|
||||
if skipTypes(n.sons[1].typ, abstractVar).kind notin
|
||||
{tyOpenArray, tyVarargs, tySequence, tyString}:
|
||||
if skipTypes(n.sons[1].typ, abstractVar).kind notin
|
||||
{tySequence, tyString, tyCString, tyOpenArray, tyVarargs}:
|
||||
result = newIntNodeT(lastOrd(skipTypes(n[1].typ, abstractVar)), n)
|
||||
else:
|
||||
var a = getArrayConstr(m, n.sons[1])
|
||||
|
||||
6
tests/exprs/thighCString.nim
Normal file
6
tests/exprs/thighCString.nim
Normal file
@@ -0,0 +1,6 @@
|
||||
discard """
|
||||
output: "5"
|
||||
"""
|
||||
let test = cstring("foobar")
|
||||
|
||||
echo high(test)
|
||||
Reference in New Issue
Block a user