-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Split some queries #19228
base: master
Are you sure you want to change the base?
Split some queries #19228
Conversation
trait_data
/impl_data
queriesa0adf97
to
4e741e3
Compare
4e741e3
to
29511a6
Compare
Why split them? I mean, the items & fields are not the only part that shouldn't be in the item tree, there're also the types, and when we remove them we get pretty much the same data - the new thing is the item tree, not the data queries. |
The gist is the data queries will turn into the "signatures" of the things (generic params, where clauses, generic args, etc) which for impls means generics, target trait (and its args which mat contain expressions) and the target type (again may contain expressions). All of that is information isn't necessary when querying the assoc items as they are separate concerns. Assoc item lowering is still just part of early name res, we just do it lazily because it doesn't quite participate in the fixpoint (yet, traits will be soon as rust will allow importing trait functions in the future). The item tree is not really related to this concrete change here. |
A follow up is to split out the |
Small step needed for #7434
Blocked on #18964