I opened a PR with the floundering work: https://github.com/rust-lang/chalk/pull/229
@Florian Diebold did you check if floundering helps with rust-analyzer perf issues?
No I didn't yet, but I should... As I understand it we'll have to somehow mark traits as non-enumerable though
Well, it seems like it might. Here are numbers for analyzing the Chalk repo:
Everything enumerable, using fuel: 20.685380613s
Everything enumerable, without fuel: 20.752197389s
Everything enumerable, removing our hardcoded blacklist of 'bad' traits (
Fn traits): seems to hang indefinitely
Marking those traits as non-enumerable instead: 21.311616989s
Sized needs to be marked as non-enumerable, since auto traits are non-enumerable anyway and it doesn't seem to be necessary for the Fn traits)
btw @Florian Diebold I'm planning on spending tomorrow/Monday catching up on the work you've been doing in rust-analyzer, along with some other trait stuff, maybe we can chat some on Monday?
Sure, on Monday I'll be busy between 19:00-21:30 CET, but apart from that any time