CFThread after join logs implicit error that is not fixable

Description

The Lucee debugging log reports Implicit Variable Access when I do cfthread["threadname"] after a join.

There is no such thing as thread.cfthread, so what are you expecting us to type so that UndefinedImpl.java is not triggered?

It seems like this is an inconsistency or bug with the implicit checker since I don't think I can "fix" this in CFML code alone.

It looks simple to fix by preventing this line from running UndefinedImpl.java below pc.getThreadScope:
if (debug) debugCascadedAccess(pc, "thread", key);

It is probably better performance to do it there then have a true top level scope everywhere.

I made a commit with my suggested solution.

Environment

None

Status

Assignee

Michael Offner

Reporter

Bruce Kirkpatrick

Labels

None

Sprint

None

Fix versions

Affects versions

5.3.2.16

Priority

Critical
Configure