feldob/InPUT

Improper scoping causes ID collisions

Opened this issue · 0 comments

It is no surprise that equal absolute IDs can collide. Relative IDs in the same scope also have the same absolute IDs. So that's merely another interpretation of the same situation. However, relative IDs in different scopes can also collide. All collisions are silently ignored, but the effects can be quite serious.

These collisions explain the scoping problems that were observed in the past. Rather than outer parameters overshadowing inner parameters, the IDs are considered to be duplicates, even though the parameters have different absolute IDs, and the order in which the parameters occur in the configuration means that one parameter overrides the other.

See https://github.com/finkn/InPUTspec/blob/master/main/src/net/finkn/inputspec/v050/DuplicateIdTest.java for details.