Closed
Description
NLL seems to cause a severe regression in compile time for code generated by the gll crate.
- Check out https://github.com/rust-lang-nursery/wg-grammar.git (current hash is e1d072a158a5d1f3d811bbd48bba3608bff1c99f).
cargo build
. For me, takes about 1 minute.- Edit
src/lib.rs
and add#![feature(nll)]
cargo build
. For me, takes 77 minutes.
gll generates a very large parse.rs
file, about 46,000 lines long. (Located in target/debug/build/rust-grammar-*/out/parse.rs
)
From what little debugging I did, I see it spending most of its time in a function called RegionInferenceContext::find_outlives_blame_span
.
Tested: 1.32.0 (stable) and rustc 1.34.0-nightly (f6fac42 2019-02-03).
Please let me know if there's any other information I can provide.
cc @qmx