ebkalderon / tower-lsp

Language Server Protocol implementation written in Rust
Apache License 2.0
962 stars 54 forks source link

A dependency contains code that will be rejected by a future rust version #359

Closed Calcoph closed 1 year ago

Calcoph commented 1 year ago

When compiling with rust v1.64 the following warning pops up:

warning: the following packages contain code that will be rejected by a future version of Rust: ntapi v0.3.7

ntapi is a dependency of mio which is a dependency of tokio.

This project uses tokio v1.17.0, I have tried another project and it doesn't throw any warnings with tokio v1.22.

ebkalderon commented 1 year ago

Thanks for the heads-up! Quite a few dependencies need to be updated in this repo, so perhaps I could put together a maintenance release.

ebkalderon commented 1 year ago

After some investigation, this dependency requirement isn't a risk and shouldn't matter. This project specifies a tokio version spec of 1.17 due to downstream dependencies, which is equivalent to ^1.17.0. According to the Cargo reference, this means tower-lsp should work with all versions of tokio >2.0.0.

The downstream user may cargo update -p tokio at any time to upgrade their Cargo.lock to the latest compatible version of tokio (1.24.1, at the time of writing). I don't believe there is anything directly actionable here on the tower-lsp side. Still, thanks for reporting!