diff --git a/crates/rust-analyzer/src/task_pool.rs b/crates/rust-analyzer/src/task_pool.rs index 83389373903..aeeb3b7c582 100644 --- a/crates/rust-analyzer/src/task_pool.rs +++ b/crates/rust-analyzer/src/task_pool.rs @@ -9,7 +9,13 @@ pub(crate) struct TaskPool { impl TaskPool { pub(crate) fn new(sender: Sender) -> TaskPool { - TaskPool { sender, inner: threadpool::ThreadPool::default() } + const STACK_SIZE: usize = 8 * 1024 * 1024; + + let inner = threadpool::Builder::new() + .thread_name("Worker".into()) + .thread_stack_size(STACK_SIZE) + .build(); + TaskPool { sender, inner } } pub(crate) fn spawn(&mut self, task: F)