8 Commits

Author SHA1 Message Date
Sosthène Guédon
0a75cdadbd Fix respond race condition and add test for it 2024-06-14 09:22:18 +02:00
Sosthène Guédon
40df05673c Add missing branch check 2024-06-14 09:22:18 +02:00
Sosthène Guédon
388026f42b Simplify cancelation logic
The Responder never actually dealt with the intermediary stages of
CancelingRequested and CancelingBuildingResponse, but could still observe them.

Despite that, the loom tests still don't reach any panic
2024-06-14 09:22:18 +02:00
Sosthène Guédon
5ffd19c3bc Test properly Send and Sync bounds 2023-06-27 15:01:04 +02:00
Sosthène Guédon
cc2b153daf Remove the Clone bound 2023-01-31 17:08:53 +01:00
Sosthène Guédon
34701deb9f Add const constructor to interchange
Thanks https://old.reddit.com/r/rust/comments/wwsddr/const_fn_parameter_usage_propagation_throws_errors/ilndzec/
2023-01-31 17:08:53 +01:00
Sosthène Guédon
0e7108a0ad Use RAII to remove the need for reset_claims 2023-01-31 17:08:53 +01:00
Sosthène Guédon
07de0e8b20 Use const instead of macros
This is pretty much a complete rewrite. It gives a much nicer API to
understand from the documentation. It also means that it doesn't rely on
\#[doc(hidden)] methods (except for `Interchange::const_new` so that it
can be removed once the required compiler features are stabilized)

Because everything doesn't need to be `'static` anymore, it can also be
tested efficiently with Loom, ensuring that there are no possible race
conditions.

It is a significantly breaking change
2023-01-31 17:08:53 +01:00