ID:2911625
 
Resolved
The "no parent call" warning for ..() was inappropriately generated for operator overloads. This has been changed for all overloads, although currently it only really matters for the << and >> operators.
BYOND Version:515.1630
Operating System:Windows 10 Home 64-bit
Web Browser:Firefox 122.0
Applies to:Dream Maker
Status: Resolved (515.1631)

This issue has been resolved.
Descriptive Problem Summary:
In input & output operators, ..() is used to fallback to the default output/input behavior. But this currently triggers the no_parent warning, despite still working as it has before.

Code Snippet (if applicable) to Reproduce Problem: Stripped down example from the ref.
/effect


proc/DoEffect(target, effect/E)
return

world/proc/operator<<(out, target)
if(istype(out, /effect))
DoEffect(target, out)
else ..()

world/proc/operator>>(out, target)
if(istype(out, /effect))
DoEffect(target, out)
else ..()


Expected Results:
Compiles without warning.
Actual Results:
Compiles with no_parent warnings.

Does the problem occur:
Every time? Or how often? Every time.
In other games? Yes.
In other user accounts? N/A
On other computers? N/A


Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)
Any version before no_parent warnings (515.1617)
Workarounds:
#pragma ignore no_parent
Lummox JR resolved issue with message:
The "no parent call" warning for ..() was inappropriately generated for operator overloads. This has been changed for all overloads, although currently it only really matters for the << and >> operators.