fixes another effect inference bug [backport:1.6] (#19100)
* fixes another effect inference bug [backport:1.6]
This commit is contained in:
parent
f2f15e9726
commit
fce89cb60a
7 changed files with 85 additions and 11 deletions
|
|
@ -851,6 +851,9 @@ proc trackCall(tracked: PEffects; n: PNode) =
|
|||
elif isIndirectCall(tracked, a):
|
||||
assumeTheWorst(tracked, n, op)
|
||||
gcsafeAndSideeffectCheck()
|
||||
else:
|
||||
if strictEffects in tracked.c.features and a.kind == nkSym and a.sym.kind in routineKinds:
|
||||
propagateEffects(tracked, n, a.sym)
|
||||
else:
|
||||
mergeRaises(tracked, effectList[exceptionEffects], n)
|
||||
mergeTags(tracked, effectList[tagEffects], n)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue