Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description = "Automatically assign projects to students"
authors = ["Samuel Tardieu <sam@rfc1149.net>"]
edition = "2024"
license = "Apache-2.0/MIT"
rust-version = "1.85.0"
rust-version = "1.94.0"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🌐 Web query:

Which Rust release stabilized let_chains for Edition 2024, and in which Rust release did Rust 2024 itself become stable?

💡 Result:

  • let_chains (the #![feature(let_chains)] gate) was stabilized for the Rust 2024 Edition in Rust 1.88.0 (2025-06-26). [1]
  • Rust 2024 (Edition 2024) itself became stable in Rust 1.85.0 (2025-02-20). [2][1]

Sources
[1] Rust Release Notes (Rust 1.88.0 + Rust 1.85.0 entries) (doc.rust-lang.org)
[2] “Announcing Rust 1.85.0 and Rust 2024” (Rust Blog) (blog.rust-lang.org)

Citations:


Avoid raising the MSRV higher than this refactor needs.

Rust 2024 Edition became stable in Rust 1.85.0 (2025-02-20), and let_chains was stabilized for Edition 2024 in Rust 1.88.0 (2025-06-26). The guard refactor in src/checks.rs using chained let conditions requires only 1.88.0, not 1.94.0. Unless there is a separate requirement elsewhere in this branch that specifically needs 1.94.0, lower the MSRV to 1.88.0; otherwise, users on 1.88–1.93 unnecessarily lose compatibility.

Suggested change
-rust-version = "1.94.0"
+rust-version = "1.88.0"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
rust-version = "1.94.0"
rust-version = "1.88.0"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Cargo.toml` at line 8, The MSRV in Cargo.toml is set to "1.94.0" but the
refactor only requires Rust 1.88.0 (for Edition 2024 and stabilized let_chains);
lower the rust-version key in Cargo.toml to "1.88.0" so users on 1.88–1.93
remain compatible, unless some other symbol in the branch (e.g., other crates or
functions referenced from src/checks.rs) explicitly requires >1.88.0—if so,
document that requirement and keep the higher MSRV only where necessary.


[dependencies]
clap = { version = "4.5", features = ["derive"] }
Expand Down
17 changes: 9 additions & 8 deletions src/checks.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,15 @@ use tracing::warn;

pub fn check_pinned_consistency(a: &Assignments) {
for s in a.all_students() {
if let Some(p) = a.rankings(s).first() {
if a.is_pinned_for(s, *p) && a.project_for(s) != Some(*p) {
warn!(
student = %a.student(s),
project = %a.project(*p),
"student did not get pinned project"
);
}
if let Some(p) = a.rankings(s).first()
&& a.is_pinned_for(s, *p)
&& a.project_for(s) != Some(*p)
{
warn!(
student = %a.student(s),
project = %a.project(*p),
"student did not get pinned project"
);
}
}
}
Expand Down
Loading