Yes, as long as by "the features of their dependencies" you mean this in the conceptual sense rather than the actual Cargo feature called "cargo features", that's my thesis, although with an additional explicit point that in the current way the system works, there's virtually no way to do this effectively. It seems like you understood that as well, but I think it's a much more bold claim for me to say that the problem is fundamentally ergonomic because the thing that does solve it in theory exists but will be used for that in practice in the current form.
Putting it another way that's even more controversial, because I do genuinely believe it and I think we need to radically change how we think about this: I don't think the Rust compiler is slow. I think that it just compiles too much code, and if we solved that, we'd find that it's fast enough in practice that most people would stop complaining about compile times.
Putting it another way that's even more controversial, because I do genuinely believe it and I think we need to radically change how we think about this: I don't think the Rust compiler is slow. I think that it just compiles too much code, and if we solved that, we'd find that it's fast enough in practice that most people would stop complaining about compile times.