-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
traits with self-containing supertraits are not object safe #38603
Conversation
r? @eddyb (rust_highfive has picked a reviewer for you, use r? to override) |
This fixes the ICE, but we still permit stuff such as trait Q<T:?Sized> {}
trait Foo where u32: Q<Self> {}
fn main() {
let f: Box<Foo> = ...;
} That shouldn't cause an ICE because non-supertrait bounds are never used, but I still think I should future-compatibility-warning this. |
992789a
to
5a9fa5d
Compare
cc @rust-lang/compiler @brson We should probably gate this on Crater. |
The current patch is pretty non-aggressive, prohibiting only cases that tend to ICE. I think we want to crater a more aggressive version of it (cc #38604). |
now ready for crater |
cc @brson -- can you run this through craterbomb? |
I'll run it through crater. Cargobomb isn't quite ready for this yet. |
Still cratering. |
Crater says https://gist.github.com/anonymous/3409c01561daa0670445c1ac9f967f6b Some false positives but some legit errors. |
Root regressions from @brson's run (I haven't analyzed them yet, hence the unchecked check boxes). We should try to and submit fixes or at least contact authors of affected crates and so forth.
|
I am not sure what's behind the All other errors look spurious. |
That is odd. Do you have a local build? Can you give this a spin locally? |
This should be the last time I fix this function. Fixes rust-lang#38404.
Fixes rust-lang#38604 needs a crater run
ec742c6
to
c85fb19
Compare
Looks like not our bug. Compiling using the
While after a
|
So you get the same results both with and without this PR? Since this is being used as a library, the |
Exactly. When you use the |
@arielb1 I'm sort of confused by what you meant when you wrote "not our bug" |
That's it's broken, but not by our changes. |
OK, I misread this comment at first:
Interesting. |
@bors r+ |
📌 Commit c85fb19 has been approved by |
⌛ Testing commit c85fb19 with merge 7da72d5... |
💔 Test failed - status-appveyor |
@bors: retry
* canceled to prioritize rollup
…On Thu, Jan 19, 2017 at 5:18 PM, bors ***@***.***> wrote:
💔 Test failed - status-appveyor
<https://ci.appveyor.com/project/rust-lang/rust/build/1.0.1613>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#38603 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAD95DENPdPNi8xHTyEm6EcO3u42gkknks5rUAt_gaJpZM4LVciT>
.
|
⌛ Testing commit c85fb19 with merge 8fa0690... |
💔 Test failed - status-appveyor |
@bors: retry
* network error
…On Thu, Jan 19, 2017 at 5:48 PM, bors ***@***.***> wrote:
💔 Test failed - status-appveyor
<https://ci.appveyor.com/project/rust-lang/rust/build/1.0.1615>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#38603 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAD95IYzwrk6ODaKeiwNaXS52qFQMT1Uks5rUBJwgaJpZM4LVciT>
.
|
⌛ Testing commit c85fb19 with merge 6be85b4... |
💔 Test failed - status-appveyor |
@bors: retry
* canceled to prioritize rollup
…On Thu, Jan 19, 2017 at 6:56 PM, bors ***@***.***> wrote:
💔 Test failed - status-appveyor
<https://ci.appveyor.com/project/rust-lang/rust/build/1.0.1618>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#38603 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAD95JTCyLL3M3nF0MNYm7IdZTqSQTsNks5rUCJZgaJpZM4LVciT>
.
|
⌛ Testing commit c85fb19 with merge d38430b... |
@bors: retry
|
⌛ Testing commit c85fb19 with merge 5a6ac84... |
@bors: retry |
traits with self-containing supertraits are not object safe This should be the last time I fix this function. Fixes #38404.
☀️ Test successful - status-appveyor, status-travis |
Rollup of 28 pull requests - Successful merges: #38603, #38761, #38842, #38847, #38955, #38966, #39062, #39068, #39077, #39111, #39112, #39114, #39118, #39120, #39132, #39135, #39138, #39142, #39143, #39146, #39157, #39166, #39167, #39168, #39179, #39184, #39195, #39197 - Failed merges: #39060, #39145
Rollup of 28 pull requests - Successful merges: #38603, #38761, #38842, #38847, #38955, #38966, #39062, #39068, #39077, #39111, #39112, #39114, #39118, #39120, #39132, #39135, #39138, #39142, #39143, #39146, #39157, #39166, #39167, #39168, #39179, #39184, #39195, #39197 - Failed merges: #39060, #39145
This should be the last time I fix this function.
Fixes #38404.