Revert "fixes #15280 [backport:1.2] (#15281)" (#15700)

This reverts commit 3f00a738db.

(cherry picked from commit d4022ebe53)
This commit is contained in:
Clyybber
2020-10-24 11:45:18 +02:00
committed by narimiran
parent d1924f2852
commit 9e8ad86d6a
4 changed files with 5 additions and 49 deletions

View File

@@ -184,7 +184,7 @@ proc endsInNoReturn(n: PNode): bool =
var it = n
while it.kind in {nkStmtList, nkStmtListExpr} and it.len > 0:
it = it.lastSon
result = it.kind in (nkLastBlockStmts-{nkReturnStmt}) or
result = it.kind in nkLastBlockStmts or
it.kind in nkCallKinds and it[0].kind == nkSym and sfNoReturn in it[0].sym.flags
proc commonType*(x: PType, y: PNode): PType =

View File

@@ -502,7 +502,7 @@ weirdScopes()
# bug #14985
proc getScope(): string =
if true:
"hi"
return "hi"
else:
"else"
@@ -512,14 +512,14 @@ proc getScope3(): string =
try:
"try"
except:
"except"
return "except"
echo getScope3()
proc getScope2(): string =
case true
of true:
"bye"
return "bye"
else:
"else"

View File

@@ -258,7 +258,7 @@ func foo(input: string): int =
try:
parseInt(input)
except:
0
return
func foo2(b, input: string): int =
case b:

View File

@@ -1,44 +0,0 @@
discard """
errormsg: "expression 'len(src) shl 1' is of type 'int' and has to be used (or discarded)"
line: 19
"""
# bug #15280
type
HexFlags* {.pure.} = enum
LowerCase, ## Produce lowercase hexadecimal characters
PadOdd, ## Pads odd strings
SkipSpaces, ## Skips all the whitespace characters inside of string
SkipPrefix ## Skips `0x` and `x` prefixes at the begining of string
proc bytesToHex*(src: openarray[byte], dst: var openarray[char],
flags: set[HexFlags]): int =
if len(dst) == 0:
(len(src) shl 1)
else:
var halflast = false
let dstlen = len(dst)
var srclen = len(src)
if dstlen < (srclen shl 1):
if (dstlen and 1) == 1:
srclen = (dstlen - 1) shr 1
halflast = true
else:
srclen = (dstlen shr 1)
let lowercase = (HexFlags.LowerCase in flags)
var k = 0
for i in 0 ..< srclen:
let x = int(src[i])
inc(k, 2)
if halflast:
let x = int(src[srclen])
inc(k)
return k