mirror of
https://github.com/salsa-rs/salsa.git
synced 2025-07-08 05:45:17 +00:00

Some checks are pending
Test / Test (push) Waiting to run
Test / Miri (push) Waiting to run
Test / Shuttle (push) Waiting to run
Test / Benchmarks (push) Waiting to run
Book / Book (push) Waiting to run
Book / Deploy (push) Blocked by required conditions
Release-plz / Release-plz release (push) Waiting to run
Release-plz / Release-plz PR (push) Waiting to run
* Set `validate_final` in `execute` after removing the last cycle head * Add runaway query repro * Add tracing * Fix part 1 * Fix `cycle_head_kinds` to always return provisional for memos that aren't verified final (They should be validated by `validate_same_iteration` or wait for the cycle head * Fix cycle error * Documentation * Fix await for queries depending on initial value * correctly initialize queued * Cleanup * Short circuit if entire query runs on single thread * Move parallel code into its own method * Rename method, add self_key to queued * Revert self-key changes * Move check *after* `deep_verify_memo` * Add a test for a cycle with changing cycle heads * Short circuit more often * Consider iteration in `validate_provisional` * Only yield if all heads result in a cycle. Retry if even just one inner cycle made progress (in which case there's a probably a new memo) * Fix hangs * Cargo fmt * clippy * Fix hang if cycle initial panics * Rename `cycle_head_kind` enable `cycle_a_t1_b_t2_fallback` shuttle test * Cleanup * Docs
36 lines
742 B
Rust
36 lines
742 B
Rust
mod setup;
|
|
mod signal;
|
|
|
|
mod cycle_a_t1_b_t2;
|
|
mod cycle_a_t1_b_t2_fallback;
|
|
mod cycle_ab_peeping_c;
|
|
mod cycle_nested_deep;
|
|
mod cycle_nested_deep_conditional;
|
|
mod cycle_nested_three_threads;
|
|
mod cycle_panic;
|
|
mod cycle_provisional_depending_on_itself;
|
|
mod parallel_cancellation;
|
|
mod parallel_join;
|
|
mod parallel_map;
|
|
|
|
#[cfg(not(feature = "shuttle"))]
|
|
pub(crate) mod sync {
|
|
pub use std::sync::*;
|
|
pub use std::thread;
|
|
|
|
pub fn check(f: impl Fn() + Send + Sync + 'static) {
|
|
f();
|
|
}
|
|
}
|
|
|
|
#[cfg(feature = "shuttle")]
|
|
pub(crate) mod sync {
|
|
pub use shuttle::sync::*;
|
|
pub use shuttle::thread;
|
|
|
|
pub fn check(f: impl Fn() + Send + Sync + 'static) {
|
|
shuttle::check_pct(f, 1000, 50);
|
|
}
|
|
}
|
|
|
|
pub(crate) use setup::*;
|