Skip to content

Wrong device reported missing #397

Closed
@byorgey

Description

Describe the bug
In certain situations with devices that don't exist, an error is generated saying that some other device is missing (even though it is not).

To Reproduce

  • Start a classic mode game with --cheat
  • Switch into creative mode and create "branch predictor"
  • Switch back out of creative mode
  • Type build {move; if (1 > 2) {} {}}
    • As expected we get an error saying no device provides the compare capability.
  • Now type build {move; turn left; if (1 > 2) {} {}}
    • All we have done is add turn left; we would expect to get the same error. Instead we get an error like You do not have the devices required for: 'move; turn left; if (1 > 2) {noop} {noop}' please obtain: - branch predictor
    • But we do have a branch predictor, so this error is bogus. Not sure yet whether the capability checking or error reporting is to blame.

Additional context
First noticed this in #373 (comment) . Note that once #395 is merged then we will have a comparator device so the above example won't work any more.

Metadata

Assignees

Labels

BugThe observed behaviour is incorrect or unexpected.L-Capability checkingCapability checking determines which capabilities are required by a given piece of code.S-CriticalThis is an issue that seriously affects playability or user experience.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions