rust-lang / rust-lang/rust

rustc hangs when compiling `varisat` (`-Znext-solver`)

Open
#161,575 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

I-hang needs-triage WG-trait-system-refactor
Dominant language
Rust
Stars
119k
Forks
16.1k
PR merge metrics
PR metrics pending

Description

Not sure if I should file a separate issue or not. Here is the minimized reproducer we saw in rust-lang/cargo's CI failure with the crate varisat:

/tmp/repro.rs

---cargo
[package]
edition = "2024"

[dependencies]
varisat = "=0.2.2"
---

fn main() {
    let _solver = varisat::Solver::new();
}

And run it

# this got stuck
cargo +nightly-2026-08-22 -Zscript check --manifest-path /tmp/repro.rs

# this succeeded
env RUSTFLAGS="-Znext-solver=coherence" cargo +nightly-2026-08-22 -Zscript check --manifest-path /tmp/repro.rs

# this succeeded
cargo +nightly-2026-08-21 -Zscript check --manifest-path /tmp/repro.rs

# this got stuck
env RUSTFLAGS="-Znext-solver=globally" cargo +nightly-2026-08-21 -Zscript check --manifest-path /tmp/repro.rs

Originally posted by @weihanglo in #160895

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the /tmp/repro.rs reproducer and run the listed cargo commands using the two nightly versions and next-solver settings. Compare the hanging and successful cases; done means the varisat check no longer hangs under the affected configuration, with the regression or relevant compiler area identified.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
compilers
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.