1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
discard """
output: '''
not deprecated
not deprecated
not error
not error
'''
"""
# issue #21724
block: # deprecated
{.push warningAsError[Deprecated]: on.}
type
SomeObj = object
hey: bool
proc hey() {.deprecated: "Shouldn't use this".} = echo "hey"
proc gen(o: auto) =
doAssert not compiles(o.hey())
if o.hey:
echo "not deprecated"
gen(SomeObj(hey: true))
doAssert not (compiles do:
proc hey(o: SomeObj) {.deprecated: "Shouldn't use this".} = echo "hey"
proc gen2(o: auto) =
if o.hey():
echo "not deprecated"
gen2(SomeObj(hey: true)))
proc hey(o: SomeObj) {.deprecated: "Shouldn't use this".} = echo "hey"
proc gen3(o: auto) =
if o.hey:
echo "not deprecated"
gen3(SomeObj(hey: true))
{.pop.}
block: # error
type
SomeObj = object
hey: bool
proc hey() {.error: "Shouldn't use this".} = echo "hey"
proc gen(o: auto) =
doAssert not compiles(o.hey())
if o.hey:
echo "not error"
gen(SomeObj(hey: true))
doAssert not (compiles do:
proc hey(o: SomeObj) {.error: "Shouldn't use this".} = echo "hey"
proc gen2(o: auto) =
if o.hey():
echo "not error"
gen2(SomeObj(hey: true)))
proc hey(o: SomeObj) {.error: "Shouldn't use this".} = echo "hey"
proc gen3(o: auto) =
if o.hey:
echo "not error"
gen3(SomeObj(hey: true))
|