implements https://github.com/nim-lang/RFCs/issues/258 (#15503)
* implements https://github.com/nim-lang/RFCs/issues/258 * don't be too strict with custom pragma blocks * cast pragmas: documentation * added most missing inference query procs to effecttraits.nim
This commit is contained in:
parent
acd71dd6bb
commit
92163fa330
16 changed files with 232 additions and 68 deletions
|
|
@ -1,5 +1,7 @@
|
|||
discard """
|
||||
nimout: '''##[ValueError, Gen[string]]##'''
|
||||
nimout: '''##[ValueError, Gen[string]]##
|
||||
%%[RootEffect]%%
|
||||
true true'''
|
||||
"""
|
||||
|
||||
import macros
|
||||
|
|
@ -10,13 +12,18 @@ type
|
|||
x: T
|
||||
|
||||
macro m(call: typed): untyped =
|
||||
echo "##", repr getRaisesList(call), "##"
|
||||
echo "##", repr getRaisesList(call[0]), "##"
|
||||
echo "%%", repr getTagsList(call[0]), "%%"
|
||||
echo isGcSafe(call[0]), " ", hasNoSideEffects(call[0])
|
||||
result = call
|
||||
|
||||
proc gutenTag() {.tags: RootEffect.} = discard
|
||||
|
||||
proc r(inp: int) =
|
||||
if inp == 0:
|
||||
raise newException(ValueError, "bah")
|
||||
elif inp == 1:
|
||||
raise newException(Gen[string], "bahB")
|
||||
gutenTag()
|
||||
|
||||
m r(2)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue