ID:2323078
 
Resolved
Overloading the ** operator did not work correctly.
BYOND Version:512.1395
Operating System:Windows 10 Home 64-bit
Web Browser:Firefox 57.0
Applies to:Dream Daemon
Status: Resolved (512.1399)

This issue has been resolved.
Descriptive Problem Summary:
The operator**() method is apparently broken, in that it does not appear to be called when the exponentiation operator is overloaded and it seems to cause some sort of internal error that messes up execution of the code it's in. Refer to the snippet below and the explanation for details.

Numbered Steps to Reproduce Problem:

Code Snippet (if applicable) to Reproduce Problem:
foo/proc/operator**(a)
world << "Test output."
return 1

mob/Login()
..()

sleep(5)

var/foo/F = new
world << F ** 2


Expected Results:
We have the output:
"Test output."
1


Actual Results:
Neither of the above appear, so it seems that the overload method is not called, and additionally for some reason the output of the result is suppressed. There also seems to be some sort of internal error going on. If that sleep(5) line is removed then (at least on my system), DS will not open correctly and only the Options and Messages window will appear.

Workarounds:
None as far as I can tell, except not overloading the exponentiation operator.
The version number in the report above is incorrect, since this is a 512 feature. What's the exact build number you're using?
In response to Lummox JR
Whoops, sorry about that. It's 512.1395
Lummox JR resolved issue with message:
Overloading the ** operator did not work correctly.