Skip to content

Commit 5495f70

Browse files
committed
remove dependency on crossbeam crate and use its dependencies instead
1 parent 805cec7 commit 5495f70

File tree

9 files changed

+21
-19
lines changed

9 files changed

+21
-19
lines changed

Cargo.lock

Lines changed: 4 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/steel-core/Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,8 @@ parking_lot = { version = "0.12", features = ["arc_lock", "send_guard"] }
7373
bigdecimal = "0.4.5"
7474

7575
# Also for sync stuff
76-
crossbeam = "0.8.4"
76+
crossbeam-channel = "0.5.14"
77+
crossbeam-utils = "0.8.21"
7778

7879
httparse = "1.9.4"
7980

crates/steel-core/src/rvals/cycles.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1068,13 +1068,13 @@ impl<'a> BreadthFirstSearchSteelValVisitor for IterativeDropHandler<'a> {
10681068
self.moved_threads = true;
10691069

10701070
static DROP_THREAD: std::sync::LazyLock<
1071-
crossbeam::channel::Sender<OwnedIterativeDropHandler>,
1071+
crossbeam_channel::Sender<OwnedIterativeDropHandler>,
10721072
> = std::sync::LazyLock::new(start_background_drop_thread);
10731073

10741074
fn start_background_drop_thread(
1075-
) -> crossbeam::channel::Sender<OwnedIterativeDropHandler> {
1075+
) -> crossbeam_channel::Sender<OwnedIterativeDropHandler> {
10761076
let (sender, receiver) =
1077-
crossbeam::channel::unbounded::<OwnedIterativeDropHandler>();
1077+
crossbeam_channel::unbounded::<OwnedIterativeDropHandler>();
10781078

10791079
std::thread::spawn(move || {
10801080
while let Ok(mut value) = receiver.recv() {

crates/steel-core/src/steel_vm/vm.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ use std::{cell::RefCell, collections::HashMap, iter::Iterator, rc::Rc};
5959

6060
use super::engine::EngineId;
6161

62-
use crossbeam::atomic::AtomicCell;
62+
use crossbeam_utils::atomic::AtomicCell;
6363
#[cfg(feature = "profiling")]
6464
use log::{debug, log_enabled};
6565
use num_bigint::BigInt;

crates/steel-core/src/steel_vm/vm/threads.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -548,11 +548,11 @@ fn spawn_thread_result(ctx: &mut VmCore, args: &[SteelVal]) -> Result<SteelVal>
548548
}
549549

550550
pub struct SteelReceiver {
551-
receiver: crossbeam::channel::Receiver<SteelVal>,
551+
receiver: crossbeam_channel::Receiver<SteelVal>,
552552
}
553553

554554
pub struct SteelSender {
555-
sender: crossbeam::channel::Sender<SteelVal>,
555+
sender: crossbeam_channel::Sender<SteelVal>,
556556
}
557557

558558
pub struct Channels {
@@ -566,7 +566,7 @@ impl Custom for Channels {}
566566

567567
impl Channels {
568568
pub fn new() -> Self {
569-
let (sender, receiver) = crossbeam::channel::unbounded();
569+
let (sender, receiver) = crossbeam_channel::unbounded();
570570

571571
Self {
572572
sender: SteelSender { sender }.into_steelval().unwrap(),
@@ -589,7 +589,7 @@ impl Channels {
589589
/// Using this directly is not recommended.
590590
#[steel_derive::native(name = "receivers-select", arity = "AtLeast(0)")]
591591
pub fn select(values: &[SteelVal]) -> Result<SteelVal> {
592-
let mut selector = crossbeam::channel::Select::new();
592+
let mut selector = crossbeam_channel::Select::new();
593593

594594
let borrows = values
595595
.iter()
@@ -650,8 +650,8 @@ pub fn channel_try_recv(receiver: &SteelVal) -> Result<SteelVal> {
650650

651651
match value {
652652
Ok(v) => Ok(v),
653-
Err(crossbeam::channel::TryRecvError::Empty) => Ok(empty_channel()),
654-
Err(crossbeam::channel::TryRecvError::Disconnected) => Ok(disconnected_channel()),
653+
Err(crossbeam_channel::TryRecvError::Empty) => Ok(empty_channel()),
654+
Err(crossbeam_channel::TryRecvError::Disconnected) => Ok(disconnected_channel()),
655655
}
656656
}
657657

crates/steel-repl/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ steel-core = { workspace = true }
1515
steel-parser = { path = "../steel-parser", version = "0.6.0"}
1616
home = "0.5.9"
1717
ctrlc = "3.4.4"
18-
crossbeam = "0.8.4"
18+
crossbeam-utils = "0.8.21"
1919
owo-colors = "4.2.0"
2020

2121
[features]

crates/steel-repl/src/highlight.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ use std::borrow::Cow;
2323
#[derive(Helper)]
2424
pub struct RustylineHelper {
2525
globals: Arc<Mutex<HashSet<InternedString>>>,
26-
bracket: crossbeam::atomic::AtomicCell<Option<(u8, usize)>>, // keywords: HashSet<&'static str>,
26+
bracket: crossbeam_utils::atomic::AtomicCell<Option<(u8, usize)>>, // keywords: HashSet<&'static str>,
2727
}
2828

2929
impl RustylineHelper {
3030
pub fn new(globals: Arc<Mutex<HashSet<InternedString>>>) -> Self {
3131
Self {
3232
globals,
33-
bracket: crossbeam::atomic::AtomicCell::new(None),
33+
bracket: crossbeam_utils::atomic::AtomicCell::new(None),
3434
}
3535
}
3636
}

libs/steel-webserver/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ crate-type = ["cdylib"]
1313
steel-core = { workspace = true }
1414
axum = { version = "0.6.2", features = ["query"] }
1515
tokio = { version = "1.0", features = ["full"] }
16-
crossbeam = "0.8.2"
16+
crossbeam-channel = "0.5.14"
1717
serde_json = "1.0.92"
1818
abi_stable = "0.11.1"

libs/steel-webserver/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use steel::{
88
},
99
};
1010

11-
use crossbeam::channel::{unbounded, Receiver, Sender};
11+
use crossbeam_channel::{unbounded, Receiver, Sender};
1212

1313
use axum::extract::Path;
1414

0 commit comments

Comments
 (0)