60 Commits

Author SHA1 Message Date
Robin Krahl
4a0eb99671 Release v0.3.2 0.3.2 2025-01-14 13:44:41 +01:00
Robin Krahl
f7396f7f73 Implement Clone and Copy for InterchangeRef 2025-01-14 13:44:41 +01:00
Robin Krahl
63e9cd3c9d Remove unnecessary explicit lifetimes 2025-01-14 12:47:02 +01:00
Robin Krahl
b80645cbd0 Disable unexpected cfg lint for cfg(loom) 2025-01-14 12:45:22 +01:00
Sosthène Guédon
0fd6e29cee Remove workaround using inline consts (stable in 1.79) 2025-01-14 12:45:02 +01:00
Sosthène Guédon
78306b43c7 Prepare release 0.3.1
This is technically a breaking change, but it is a bugfix. If someone is hit by the break, they relying on unsound implementations
2024-06-20 11:13:55 +02:00
Sosthène Guédon
ea956c2129 Fix CI 2024-06-14 09:44:27 +02:00
Sosthène Guédon
379a463685 Remove commented-out states 2024-06-14 09:22:18 +02:00
Sosthène Guédon
b1dee74974 Relax ordering of transition
The first ordering of no operation relies on SeqCst semantics.
All works with Acquire/Release semantics, so there is no reason to use the SeqCst ordering.

The second ordering argument is for the failure, in which case we don't read any data,
and therefore don't need any synchronization.
2024-06-14 09:22:18 +02:00
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
74b6a0a99c Move transition method to the channel
Reduce code duplication
2024-06-14 09:22:18 +02:00
Sosthène Guédon
331d880f60 Fix clippy warning 2023-06-27 17:22:03 +02:00
Sosthène Guédon
cfa7de61b0 Update changelog 2023-06-27 15:01:04 +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
8560112e93 Fix Send and Sync implementations for Channel
Channel should not be usable to use with non Send/Sync messages types
because it allows transfering types across threads
This patch also relies on the auto trait implementations for Requester/Responder.

This is technically a breaking change, but I don't think it should be a major release.
This is unlikely to affect anyone, and if it does, it's probably uncovering unsoundness
2023-06-27 15:01:04 +02:00
Sosthène Guédon
1fe9629098 Remove outdated comment
PR #5 ended up adding an RAII mechanism that mad the split API safe
2023-04-06 15:27:21 +02:00
Robin Krahl
5eae3f318b Directly use variables in format! strings 2023-03-31 10:43:26 +02:00
Robin Krahl
5b6c86aa81 Add rustfmt and clippy to CI and deny warnings 2023-03-31 10:43:26 +02:00
Sosthène Guédon
4c86dfdb87 Add "The Trussed developers" to the author field 0.3.0 2023-02-01 14:30:07 +01:00
Sosthène Guédon
9d932d9222 Prepare release 0.3.0 2023-02-01 14:30:07 +01:00
Sosthène Guédon
a4532e337e Add tests with InterchangeRef 2023-01-31 17:08:53 +01:00
Sosthène Guédon
2eb171970f Add const-erased interchange reference 2023-01-31 17:08:53 +01:00
Sosthène Guédon
60c465683b Remove unnecessary unsafe 2023-01-31 17:08:53 +01:00