You can create a typepath (even completely describe an object) within a local proc.
I believe this to be a bug because I think typepaths should be declared outside of procs.
Numbered Steps to Reproduce Problem:
See code snippet.
Code Snippet (if applicable) to Reproduce Problem:
/datum/proc/x()
/obj/A/var/a = 5
/world/new()
world.log << ispath(/obj/A)
var/obj/A/E = new
world.log << E.a
Expected Results:
Compilation error, /obj/A is not a typepath, especially since x() was never called to begin with.
Actual Results:
Welcome BYOND! (5.0 Beta Version 512.1444)
1
5
Does the problem occur:
Every time? Or how often? Every time.
In other games? N/a
In other user accounts? N/a
On other computers? N/a
When does the problem NOT occur? 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.)
I tested it on 512.1444 and 512.1454.
Workarounds:
Don't do that, I guess. It can be a problem in a very large project since the typepath is valid within the full scope of the project and this can have unintended consequences.