ID:1223583
 
Not a bug
BYOND Version:498
Operating System:Windows XP Pro
Web Browser:Chrome 26.0.1410.43
Applies to:Dream Maker
Status: Not a bug

This is not a bug. It may be an incorrect use of syntax or a limitation in the software. For further discussion on the matter, please consult the BYOND forums.
Descriptive Problem Summary:
When a variable has the same name as a built-in proc, any proc calls pertaining to that variable will instead call the aforementioned built-in.

Code Snippet (if applicable) to Reproduce Problem:
stub
proc/test()

proc/test_bug()
var/stub
link = new
block = new
output = new

link.test()
block.test()
output.test()


Expected Results:
The proc call points to the datums' test() proc

Actual Results:
The following compile-time errors are produced:
error: link: output method has no effect here
error: block: expected 2 arguments (found 1)
warning: output: unused label


Workarounds:
Name the variable something else
Tom resolved issue (Not a bug)
While I understand this may be undesirable behavior, DM has certain built-in keywords that are going to conflict with proc names, so you just need to keep that in mind. The problem stems from the fact that DM doesn't really distinguish between fundamental operators (eg, 'for') and built-in procs; the former are going to have conflicts in all languages.
Wouldn't it be a better behavior to have it output 'reserved name' as an error, as with some other built in procedures?


edit: Nevermind, I see that it's only if you try to call procedures linked to objects with those names, a reversed name behavior would break more stuff, as you can use the names without experiencing this bug.
Well, perhaps deferred is the better status then. This is just pretty low-priority. I'm making a desperation effort to slough through the list of bug reports to see if there is anything we can get in quickly.