-
Notifications
You must be signed in to change notification settings - Fork 13.4k
traits with self-containing supertraits are not object safe #38603
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
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.