Skip to content
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

Un-regress conflicting destructors #28681

Merged
merged 4 commits into from
Sep 28, 2015

Conversation

arielb1
Copy link
Contributor

@arielb1 arielb1 commented Sep 26, 2015

Fixes #28568

r? @eddyb

Ariel Ben-Yehuda and others added 4 commits September 26, 2015 21:13
Because of type inference, duplicate obligations exist and cause duplicate
errors. To avoid this, only display the first error for each (predicate,span).

The inclusion of the span is somewhat bikesheddy, but *is* the more
conservative option (it does not remove some instability, as duplicate
obligations are ignored by `duplicate_set` under some inference conditions).

Fixes rust-lang#28098
cc rust-lang#21528 (is it a dupe?)
different supertraits can suffer from the same object-safety violation,
leading to duplication in the error message. Avoid it.

Fixes rust-lang#20692
@eddyb
Copy link
Member

eddyb commented Sep 26, 2015

@bors r+

@bors
Copy link
Contributor

bors commented Sep 26, 2015

📌 Commit 9a86713 has been approved by eddyb

Manishearth added a commit to Manishearth/rust that referenced this pull request Sep 27, 2015
bors added a commit that referenced this pull request Sep 27, 2015
@alexcrichton alexcrichton merged commit 9a86713 into rust-lang:master Sep 28, 2015
@brson brson added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Oct 2, 2015
@brson
Copy link
Contributor

brson commented Oct 2, 2015

The linked issue indicates this regression is on beta. Backport? cc @rust-lang/compiler

@brson brson added I-needs-decision Issue: In need of a decision. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Oct 2, 2015
@pnkfelix
Copy link
Member

@rust-lang/compiler I have no opinion about backporting this to beta; I certainly don't object, but I also don't think its the end of the world if an ICE remains.

(That's assuming one always hits an ICE ... if someone were to demonstrate an example where the program has two destructors and the compiler erroneously accepts it, then that would change my opinion to be strongly in favor of a backport.)

@nikomatsakis
Copy link
Contributor

I would not ordinarily be in favor of backporting, but if it's a regression I think we ought to.

@nikomatsakis nikomatsakis added the beta-accepted Accepted for backporting to the compiler in the beta channel. label Oct 16, 2015
@brson brson mentioned this pull request Oct 16, 2015
@alexcrichton alexcrichton removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Oct 16, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
beta-accepted Accepted for backporting to the compiler in the beta channel. I-needs-decision Issue: In need of a decision. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants