In this line, wait_for_value() is using identical() to compare the ignore parameter with the result of $get_value()
|
is_invalid <- vapply(ignore, identical, logical(1), x = value) |
This can lead to a situation where wait_for_value() doesn't actually wait if ignore = 1 and value = 1L (i.e., value is an integer but ignore isn't).
It seems better if the comparison was less strict, perhaps using all.equal() (similar to the difference between expect_identical() and expect_equal())