Descriptive Problem Summary:
While world.vars does not compile, world:vars does, returning null on read.
This is also the case for all vars present on /datum.
Numbered Steps to Reproduce Problem:
use world:vars somewhere
Code Snippet (if applicable) to Reproduce Problem:
/world/New()
world.log << isnull(world:vars) // 1
world.log << isnull(world:tag) // 1
world.log << isnull(world:type) // 1
world.log << isnull(world:parent_type) // 1
Expected Results: Either world:vars would runtime, or world.vars would compile and return meaningful results
Actual Results: world:vars does not runtime, returning null; world.vars does not compile.
Does the problem occur:
Every time? Or how often? Every time
In other games? N/A
In other user accounts? Yes
On other computers? Yes
When does the problem NOT occur? Unknown
Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? Unknown
Workarounds: None known
I suspect all vars present on these types are accessible on world, but I'm not sure; I've only tested those in brackets after each type.
Edit: This goes even further than that; that was only what the compiler would let me do:
Essentially, any var lookup for a var world doesn't have should runtime, but it just returns null instead.
Double edit:
This is two bugs in one.
First, that var lookups on world return null instead of runtiming if the var does not exist, as shown above in my first edit.
Second, that the compiler allows the colon operator to compile regardless of the type of the variable if the var being accessed is present on any of /datum, /list, /atom, /file, /client, or /mob: