Trying to make tower-lsp single-threaded

I need to use tower-lsp without being forced to implement Send + Sync in my structures, so I decided to try forking it, but I am having an annoying error using nightly Rust:

error: package `icu_properties_data v1.5.0` cannot be built
because it requires rustc 1.67 or newer, while the currently
active rustc version is 1.64.0

I'm using rustup default nightly, and can't use stable due to my crates that rely on nightly. How can I go from rustc 1.64.0 to 1.67 or newer while using nightly?

The latest nightly would be 1.86.0, so it sounds like you're not exactly on a recent nightly release.

But I have done rustup update just now. I have run rustc --version:

rustc 1.87.0-nightly (827a0d638 2025-02-18)

Then I run cargo check -p tower-lsp again and got almost the same error:

error: package `idna_adapter v1.2.0` cannot be built
because it requires rustc 1.67.0 or newer,
while the currently active rustc version is 1.64.0

The error disappeared when I removed the rust-toolchain file from the tower-lsp project. I'll return here to let you know how goes the fork to make it single-threaded.

Fine, I have done it: GitHub - realhydroper/rustlsp: Language Server Protocol implementation written in Rust

Published it as realhydroper-lsp!