Description
Apologies, I really couldn't find a way to minimise this example, but this commit causes cargo check
to run forever and consume an ever-growing amount of memory. I tried to narrow down what was causing the problem, but just pulling the various trait definitions out into another crate didn't reproduce it. I think the issue is related to (almost certainly) poorly-defined associated type bounds in the various traits under src/proxy/routes
, as it seemed to start happening after I started adding those, but I'm really not very confident in that assessment.
I expected to see this happen: cargo check
would run in a bounded amount of space and time
Instead, this happened: cargo check
seems to run forever and consume all of my memory
I can confirm the issue occurs on both nightly and stable, with versions:
rustc --version --verbose
:
rustc 1.73.0 (cc66ad468 2023-10-03)
binary: rustc
commit-hash: cc66ad468955717ab92600c770da8c1601a4ff33
commit-date: 2023-10-03
host: x86_64-unknown-linux-gnu
release: 1.73.0
LLVM version: 17.0.2
rustc --version --verbose
:
rustc 1.75.0-nightly (09df6108c 2023-10-17)
binary: rustc
commit-hash: 09df6108c84fdec400043d99d9ee232336fd5a9f
commit-date: 2023-10-17
host: x86_64-unknown-linux-gnu
release: 1.75.0-nightly
LLVM version: 17.0.2
I can't include a backtrace because, naturally, the compiler doesn't exit, so setting RUST_BACKTRACE=1
has no effect
This is a screenshot of rustc consuming 23GB of ram while compiling the linked commit. I don't know why I thought this would be useful, but I guess I did, so here it is.