diff --git a/lib/std/private/digitsutils.nim b/lib/std/private/digitsutils.nim index 5daa0d09f9..73b28a68ba 100644 --- a/lib/std/private/digitsutils.nim +++ b/lib/std/private/digitsutils.nim @@ -31,7 +31,10 @@ const {.push checks: off, stackTrace: off.} -proc utoa2Digits*(buf: var openArray[char]; pos: int; digits: uint32) {.inline.} = +when not defined(nimHasEnforceNoRaises): + {.pragma: enforceNoRaises.} + +proc utoa2Digits*(buf: var openArray[char]; pos: int; digits: uint32) {.inline, enforceNoRaises.} = buf[pos] = digits100[2 * digits] buf[pos+1] = digits100[2 * digits + 1] #copyMem(buf, unsafeAddr(digits100[2 * digits]), 2 * sizeof((char))) diff --git a/lib/system/stacktraces.nim b/lib/system/stacktraces.nim index 42be9d94fb..7c8ab83c48 100644 --- a/lib/system/stacktraces.nim +++ b/lib/system/stacktraces.nim @@ -62,22 +62,23 @@ when defined(nimStackTraceOverride): let programCounters = stackTraceOverrideGetProgramCounters(maxStackTraceLines) if s.len == 0: s = newSeqOfCap[StackTraceEntry](programCounters.len) - for programCounter in programCounters: - s.add(StackTraceEntry(programCounter: cast[uint](programCounter))) + for i in 0.. 0: result.add(stackTraceOverrideGetDebuggingInfo(programCounters, maxStackTraceLines)) diff --git a/lib/system/strs_v2.nim b/lib/system/strs_v2.nim index 9861c9ae4e..df5f481a8c 100644 --- a/lib/system/strs_v2.nim +++ b/lib/system/strs_v2.nim @@ -11,6 +11,8 @@ {.push overflowChecks: off, rangeChecks: off.} +{.push overflowChecks: off, rangeChecks: off.} + template isLiteral(s): bool = (s.p == nil) or (s.p.cap and strlitFlag) == strlitFlag template contentSize(cap): int = cap + 1 + sizeof(NimStrPayloadBase) diff --git a/tests/errmsgs/t23536.nim b/tests/errmsgs/t23536.nim index 610a85babd..d8f1433331 100644 --- a/tests/errmsgs/t23536.nim +++ b/tests/errmsgs/t23536.nim @@ -6,8 +6,8 @@ const expected = """ wrong trace: t23536.nim(22) t23536 t23536.nim(17) foo -assertions.nim(41) failedAssertImpl -assertions.nim(36) raiseAssert +assertions.nim(45) failedAssertImpl +assertions.nim(40) raiseAssert fatal.nim(53) sysFatal """ diff --git a/tests/errmsgs/t24974.nim b/tests/errmsgs/t24974.nim index 4f7da11c96..39d473a89e 100644 --- a/tests/errmsgs/t24974.nim +++ b/tests/errmsgs/t24974.nim @@ -4,8 +4,8 @@ discard """ t24974.nim(22) t24974 t24974.nim(19) d t24974.nim(16) s -assertions.nim(41) failedAssertImpl -assertions.nim(36) raiseAssert +assertions.nim(45) failedAssertImpl +assertions.nim(40) raiseAssert fatal.nim(53) sysFatal Error: unhandled exception: t24974.nim(16, 26) `false` [AssertionDefect] ''' @@ -19,4 +19,4 @@ proc d(): B = if s(k): discard quit 0 k -for _ in [0]: discard d() \ No newline at end of file +for _ in [0]: discard d()