Skip to content

Conversation

@jonas-schievink
Copy link
Contributor

This saves roughly 90 MB in ImplsFromDepsQuery, which used to copy the list of all impls from libcore into every crate in the graph. It also stops collecting inherent impls from dependencies entirely, as those can only be located within the crate defining the self type.

Jonas Schievink added 3 commits July 1, 2020 15:18
It creates a big map and duplicates lots of impls that are then left
lying around
This makes the intention of inherent vs. trait impls somewhat more
clear and also fixes (?) an issue where trait impls with an unresolved
trait were added as inherent impls instead (hence the test changes).
mod marker {
trait Copy {}
}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This generated impl used to be recorded as an inherent impl since Copy couldn't be found.

@matklad
Copy link
Contributor

matklad commented Jul 1, 2020

bors r+

@bors
Copy link
Contributor

bors bot commented Jul 1, 2020

@bors bors bot merged commit ad1a0e6 into rust-lang:master Jul 1, 2020
@jonas-schievink jonas-schievink deleted the better-impl-collection branch July 1, 2020 17:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants