ID:1978413
 
BYOND Version:508
Operating System:Windows 10 Home
Web Browser:Firefox 41.0
Applies to:Dream Maker
Status: Open

Issue hasn't been assigned a status value.
Descriptive Problem Summary:
It seems that sometimes istype() evaluates incorrectly. My specific instance was akin to the code snippet below, but before I was able to track down the exact steps to reproduce it, it started behaving correctly. I know for certain it was happening, as a few times I output something like,
world << "[foo.type] - [istype(foo)]"

and would get the incorrect type (a type that should be causing istype(foo) to evaluate to 0) spit out.

Numbered Steps to Reproduce Problem:
Unsure. See above.

Code Snippet (if applicable) to Reproduce Problem:
test
proc/Foo(test/T)
return istype(T)

mob/Login()
..()

var/test/T = new
world << Foo(list(1,2,3))

But, as said, I have been unable to reproduce the problem.

Expected Results:
It would output 0, as /list is not a /test object.

Actual Results:
It output 1 instead.

Does the problem occur:
Every time? Or how often? It happened for at least a dozen or so compiles in a row, and then just stopped.
In other user accounts? Unsure
On other computers? Unsure

When does the problem NOT occur?
Most (almost all) of the time.

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.)
Have only been using v508.

Workarounds:
Not sure, except keep fiddling with it until it goes away.