Closed nc7s closed 3 months ago
Thank you for your report.
I was able to confirm that changing the failed test from y % 2 == 0
to y % 2 == 1
results in test failures on 64-bit OS as well.
It appears that when using #[map]
and #[filter]
together, code like Just(..).prop_filter(..)
is generated, and an error occurs when the Just
value doesn't match the filter.
To fix this issue, I'd like to change the target of prop_filter
application from Just
to the following strategies:
Just
(when #[map]
references a single field)#[map]
references multiple fields)Thanks! I'll be cherry-picking it since it's not released yet.
... OK, I'll admit it's harder than I thought. Would you mind cutting a new release? So I can leverage our packaging tooling and save some handwork on patches ;)
I have now published version 0.4.0, which includes this fix.
Great, thanks!
Hi, I packaged this in Debian, and noticed that it failed the same titular test on the armel, armhf, and i386 platforms (check links for detailed test log). This pattern occurred to me as 32-bit only, because these are 32-bit, while all passing platforms are 64-bit.
With a few
eprintln!
s, I managed to get these:reject_local
is triggered inproptest::strategy::filter::Filter::new_tree()
source: Just(29)
whence: Reason("_y % 2 == 0")
Unfortunately I'm unfamiliar with arbitrary and proptest, thus can't dig much deeper.