Open tjhance opened 1 week ago
this might be okay appealing to the coinductiveness of Send/Sync? I'm not sure.
Not all cycles are unsound. For example, cycles through exec
functions are sound and we don't need to report them as errors (unless we deliberately want to prohibit non-terminating exec
functions). Mainly, we just need to guarantee termination of spec
and proof
functions.
Consider this variation of the recently added test
test_recursion_through_sync_impl_is_checked
from 4ab656f7a1354d901293202003678343c50026c7:The cycle has the dependency
Xinner<T, S>: Sync
-->X<T, S>: Sync
which is not covered byget_impl_paths