mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-22 07:15:22 +00:00
Ensure channels don't leak exception effects (#25318)
The forward declarations cause `Exception` to be inferred - also, `llrecv` is an internal implementation detail and the type of the received item is controlled by generics, thus the ValueError raised there seems out of place for the generic api.
This commit is contained in:
@@ -118,21 +118,21 @@ when not defined(js):
|
||||
template `rawType=`(x: var Any, p: PNimType) =
|
||||
x.rawTypePtr = cast[pointer](p)
|
||||
|
||||
proc genericAssign(dest, src: pointer, mt: PNimType) {.importCompilerProc.}
|
||||
proc genericAssign(dest, src: pointer, mt: PNimType) {.importCompilerProc, raises: [].}
|
||||
|
||||
when not defined(gcDestructors):
|
||||
proc genericShallowAssign(dest, src: pointer, mt: PNimType) {.importCompilerProc.}
|
||||
proc incrSeq(seq: PGenSeq, elemSize, elemAlign: int): PGenSeq {.importCompilerProc.}
|
||||
proc newObj(typ: PNimType, size: int): pointer {.importCompilerProc.}
|
||||
proc newSeq(typ: PNimType, len: int): pointer {.importCompilerProc.}
|
||||
proc objectInit(dest: pointer, typ: PNimType) {.importCompilerProc.}
|
||||
proc genericShallowAssign(dest, src: pointer, mt: PNimType) {.importCompilerProc, raises: [].}
|
||||
proc incrSeq(seq: PGenSeq, elemSize, elemAlign: int): PGenSeq {.importCompilerProc, raises: [].}
|
||||
proc newObj(typ: PNimType, size: int): pointer {.importCompilerProc, raises: [].}
|
||||
proc newSeq(typ: PNimType, len: int): pointer {.importCompilerProc, raises: [].}
|
||||
proc objectInit(dest: pointer, typ: PNimType) {.importCompilerProc, raises: [].}
|
||||
else:
|
||||
proc nimNewObj(size, align: int): pointer {.importCompilerProc.}
|
||||
proc newSeqPayload(cap, elemSize, elemAlign: int): pointer {.importCompilerProc.}
|
||||
proc nimNewObj(size, align: int): pointer {.importCompilerProc, raises: [].}
|
||||
proc newSeqPayload(cap, elemSize, elemAlign: int): pointer {.importCompilerProc, raises: [].}
|
||||
proc prepareSeqAddUninit(len: int; p: pointer; addlen, elemSize, elemAlign: int): pointer {.
|
||||
importCompilerProc.}
|
||||
importCompilerProc, raises: [].}
|
||||
proc zeroNewElements(len: int; p: pointer; addlen, elemSize, elemAlign: int) {.
|
||||
importCompilerProc.}
|
||||
importCompilerProc, raises: [].}
|
||||
|
||||
include system/ptrarith
|
||||
|
||||
|
||||
Reference in New Issue
Block a user