Closed
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.
- As expected we get an error saying no device provides the
- 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 likeYou 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.
- All we have done is add
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.