rust-lang / rust

Empowering everyone to build reliable and efficient software.
https://www.rust-lang.org
Other
96.96k stars 12.53k forks source link

infinite? loop when compiling serde_derive utilizing polonius #81303

Open djugei opened 3 years ago

djugei commented 3 years ago

compiling with -Z polonius=yes a depedendency of my crate, serde_derive seems to never finish compiling, or maybe it is just a lot slower than usual.

rustc 1.51.0-nightly but the issues has existed for multiple months.

jfrimmel commented 3 years ago

I can reproduce using:

cargo new test2
cd test2
echo 'serde_derive = "*"' >> Cargo.toml
RUSTFLAGS='-Z polonius=yes' cargo +nightly run

With the following nightly:

rustc 1.51.0-nightly (202720bf4 2021-01-21)
binary: rustc
commit-hash: 202720bf483088dbdb343f78c0aa77067fdd8156
commit-date: 2021-01-21
host: x86_64-unknown-linux-gnu
release: 1.51.0-nightly
LLVM version: 11.0.1

On my machine it took 10.1min to compile...

luketpeterson commented 2 months ago

I thought it was an infinite loop, but it finished eventually (about 6 min for me) rustc consuming 100% of one CPU. I'm happy to help with any testing / experimentation / fix validation.