rustformers / llm

[Unmaintained, see README] An ecosystem of Rust libraries for working with large language models

Home Page:https://docs.rs/llm/latest/llm/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Clarify MSRV policy

chris-ha458 opened this issue · comments

In a recent PR #429 @philpax mentions a MSRV constraints.

I cannot find any documentation regarding the current MSRV and related policy.

A search on the code reveals these details :

# TEMPORARY: This was introduced in Rust 1.70, but our MSRV is below this.

(This is from a previous version of this repo and I am unable to find the corresponding current code)

rust-version = "1.65"

#375

in the current Cargo.toml :https://github.com/rustformers/llm/blob/main/Cargo.toml#L42C18
rust-toolchain-version = "1.67.1"
is this the same as setting MSRV to 1.67?

So I assume current msrv is 1.65 or 1.67? but I hope this is clarified in the relevant README.md, Cargo.toml etc

Hi there!

The MSRV is 1.65.0; this is specified in the README and the CI, which builds with 1.65.0. However, I'll admit that this is not the most obvious and it should be present in the workspace's Cargo.toml, as well.

in the current Cargo.toml :https://github.com/rustformers/llm/blob/main/Cargo.toml#L42C18 rust-toolchain-version = "1.67.1" is this the same as setting MSRV to 1.67?

That's just for cargo dist, which is separate to the MSRV used for everything else. I think we can keep that as-is or update it to ensure our CLI is being built with the latest optimisations.

Where else would you like the MSRV to be specified?

Oh I assume this line
This project depends on Rust v1.65.0 or above and a modern C toolchain.
was meant to communicate that 1.65 is the MSRV

My opinion is that following https://rust-lang.github.io/rfcs/2495-min-rust-version.html would be the best.
One caveat is that while the rfc mentionsrust field the actually merged pr seems to be rust-version
In otherwords Cargo.toml should have the following line
rust-version = 1.65

Also, I think a MSRV policy would help both users and contributors understand when and how MSRV changes will be handled.

README.md is fine, or a separate CONTRIBUTING.md could be used as well.