Skip to content

Finish fixing blacklisting + template analysis #633

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

Merged
merged 2 commits into from
Apr 17, 2017

Conversation

fitzgen
Copy link
Member

@fitzgen fitzgen commented Apr 14, 2017

This is a follow up to c8a206a, and the support for blacklisting in the named template parameter usage analysis. This ensures that ever item we ever call constrain on has an entry in used for the set of template parameters it uses. Additionally, it adds extra assertions to enforce the invariant.

We cannot completely avoid analyzing blacklisted items because we want to consider all of a blacklisted template's parameters as used. This is why we ensure that blacklisted items have a used template parameter set rather than ensuring that blacklisted items never end up in the worklist.

This fixes the panic I saw in servo/servo#16392, but there are still issues leftover in the resulting bindings that I am tracking down.

r? @emilio

@bors-servo
Copy link

☔ The latest upstream changes (presumably #632) made this pull request unmergeable. Please resolve the merge conflicts.

Copy link
Contributor

@emilio emilio left a comment

Choose a reason for hiding this comment

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

r=me with conflicts addressed, thanks!

fitzgen added 2 commits April 17, 2017 09:30
…meters

This is a follow up to c8a206a, and the support for blacklisting in the named
template parameter usage analysis. This ensures that ever item we ever call
`constrain` on has an entry in `used` for the set of template parameters it
uses. Additionally, it adds extra assertions to enforce the invariant.

We cannot completely avoid analyzing blacklisted items because we want to
consider all of a blacklisted template's parameters as used. This is why we
ensure that blacklisted items have a used template parameter set rather than
ensuring that blacklisted items never end up in the worklist.
@fitzgen
Copy link
Member Author

fitzgen commented Apr 17, 2017

@bors-servo r=emilio

@bors-servo
Copy link

📌 Commit 568b011 has been approved by emilio

@bors-servo
Copy link

⌛ Testing commit 568b011 with merge c6a1e00...

bors-servo pushed a commit that referenced this pull request Apr 17, 2017
Finish fixing blacklisting + template analysis

This is a follow up to c8a206a, and the support for blacklisting in the named template parameter usage analysis. This ensures that ever item we ever call `constrain` on has an entry in `used` for the set of template parameters it uses. Additionally, it adds extra assertions to enforce the invariant.

We cannot completely avoid analyzing blacklisted items because we want to consider all of a blacklisted template's parameters as used. This is why we ensure that blacklisted items have a used template parameter set rather than ensuring that blacklisted items never end up in the worklist.

This fixes the panic I saw in servo/servo#16392, but there are still issues leftover in the resulting bindings that I am tracking down.

r? @emilio
@bors-servo
Copy link

☀️ Test successful - status-travis
Approved by: emilio
Pushing c6a1e00 to master...

@bors-servo bors-servo merged commit 568b011 into rust-lang:master Apr 17, 2017
@fitzgen fitzgen deleted the stylo-stuff branch April 17, 2017 16:49
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.

4 participants