Uh oh!
There was an error while loading. Please reload this page.
convert higher ranked Predicates to PredicateKind::ForAll - #73503
Conversation
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
66c7be0 to
9468dfbCompare641480c to
f2246c7Comparebors
commented
Jun 21, 2020
☔ The latest upstream changes (presumably #72936) made this pull request unmergeable. Please resolve the merge conflicts. |
8514396 to
eaa2952Comparebors
commented
Jun 23, 2020
☔ The latest upstream changes (presumably #73643) made this pull request unmergeable. Please resolve the merge conflicts. |
4403278 to
a4f1fcdComparenikomatsakis
commented
Jun 23, 2020
@bors try (I want to do a perf run) |
bors
commented
Jun 23, 2020
⌛ Trying commit a4f1fcd with merge 33ea641dd70d10df2f81ff66863ce09f631b8195... |
nikomatsakis
commented
Jun 23, 2020
@rust-timer queue |
rust-timer
commented
Jun 23, 2020
Awaiting bors try build completion |
bors
commented
Jun 24, 2020
☀️ Try build successful - checks-azure |
rust-timer
commented
Jun 24, 2020
Queued 33ea641dd70d10df2f81ff66863ce09f631b8195 with parent ff5b446, future comparison URL. |
rust-timer
commented
Jun 24, 2020
Finished benchmarking try commit (33ea641dd70d10df2f81ff66863ce09f631b8195): comparison url. |
nikomatsakis
commented
Jun 24, 2020
OK, perf impact is basically neutral (maybe 1% slower on stress tests...), that's great. |
bors
commented
Jun 26, 2020
☔ The latest upstream changes (presumably #73743) made this pull request unmergeable. Please resolve the merge conflicts. |
4104127 to
6d55dfaComparebors
commented
Jul 7, 2020
☔ The latest upstream changes (presumably #73978) made this pull request unmergeable. Please resolve the merge conflicts. |
There was a problem hiding this comment.
I think that Projections no longer need special casing (they no longer run the leak check at the top level).
There was a problem hiding this comment.
It seems like we do still need this.
Removing the specialcase for projections results in
Building stage1 std artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
Compiling compiler_builtins v0.1.32
Compiling core v0.0.0 (/home/lcnr/rust2/src/libcore)
Compiling cc v1.0.57
Compiling libc v0.2.71
Compiling autocfg v0.1.7
Compiling std v0.0.0 (/home/lcnr/rust2/src/libstd)
Compiling hashbrown v0.6.2
Compiling backtrace-sys v0.1.37
Compiling unwind v0.0.0 (/home/lcnr/rust2/src/libunwind)
error[E0599]: no method named `count` found for struct `iter::adapters::TakeWhile<iter::adapters::Rev<slice::Iter<'_, u32>>, [closure@src/libcore/num/bignum.rs:173:60: 173:72]>` in the current scope
--> src/libcore/num/bignum.rs:173:74
|
100 | / macro_rules! define_bignum {
101 | | ($name:ident: type=$ty:ty, n=$n:expr) => {
102 | | /// Stack-allocated arbitrary-precision (up to certain limit) integer.
103 | | ///
... |
173 | | let zeros = digits.iter().rev().take_while(|&&x| x == 0).count();
| | ------------ ^^^^^ method not found in `iter::adapters::TakeWhile<iter::adapters::Rev<slice::Iter<'_, u32>>, [closure@src/libcore/num/bignum.rs:173:60: 173:72]>`
| | |
| | doesn't satisfy `<_ as ops::function::FnOnce<(&&u32,)>>::Output = bool`
| | doesn't satisfy `_: ops::function::FnMut<(&&u32,)>`
... |
477 | | };
478 | | }
| |_- in this expansion of `define_bignum!`
...
483 | define_bignum!(Big32x40: type=Digit32, n=40);
| --------------------------------------------- in this macro invocation
| ::: src/libcore/iter/adapters/mod.rs:1803:1
|
1803 | pub struct TakeWhile<I, P> {
| --------------------------
| |
| method `count` not found for this
| doesn't satisfy `_: iter::traits::iterator::Iterator`
|
= note: the method `count` exists but the following trait bounds were not satisfied:
`<[closure@src/libcore/num/bignum.rs:173:60: 173:72] as ops::function::FnOnce<(&&u32,)>>::Output = bool`
which is required by `iter::adapters::TakeWhile<iter::adapters::Rev<slice::Iter<'_, u32>>, [closure@src/libcore/num/bignum.rs:173:60: 173:72]>: iter::traits::iterator::Iterator`
`[closure@src/libcore/num/bignum.rs:173:60: 173:72]: ops::function::FnMut<(&&u32,)>`
which is required by `iter::adapters::TakeWhile<iter::adapters::Rev<slice::Iter<'_, u32>>, [closure@src/libcore/num/bignum.rs:173:60: 173:72]>: iter::traits::iterator::Iterator`
`iter::adapters::TakeWhile<iter::adapters::Rev<slice::Iter<'_, u32>>, [closure@src/libcore/num/bignum.rs:173:60: 173:72]>: iter::traits::iterator::Iterator`
which is required by `&mut iter::adapters::TakeWhile<iter::adapters::Rev<slice::Iter<'_, u32>>, [closure@src/libcore/num/bignum.rs:173:60: 173:72]>: iter::traits::iterator::Iterator`
error[E0599]: no method named `count` found for struct `iter::adapters::TakeWhile<iter::adapters::Rev<slice::Iter<'_, u8>>, [closure@src/libcore/num/bignum.rs:173:60: 173:72]>` in the current scope
--> src/libcore/num/bignum.rs:173:74
|
100 | / macro_rules! define_bignum {
101 | | ($name:ident: type=$ty:ty, n=$n:expr) => {
102 | | /// Stack-allocated arbitrary-precision (up to certain limit) integer.
103 | | ///
... |
173 | | let zeros = digits.iter().rev().take_while(|&&x| x == 0).count();
| | ------------ ^^^^^ method not found in `iter::adapters::TakeWhile<iter::adapters::Rev<slice::Iter<'_, u8>>, [closure@src/libcore/num/bignum.rs:173:60: 173:72]>`
| | |
| | doesn't satisfy `<_ as ops::function::FnOnce<(&&u8,)>>::Output = bool`
| | doesn't satisfy `_: ops::function::FnMut<(&&u8,)>`
... |
477 | | };
478 | | }
| |_- in this expansion of `define_bignum!`
...
488 | define_bignum!(Big8x3: type=u8, n=3);
| ------------------------------------- in this macro invocation
| ::: src/libcore/iter/adapters/mod.rs:1803:1
|
1803 | pub struct TakeWhile<I, P> {
| --------------------------
| |
| method `count` not found for this
| doesn't satisfy `_: iter::traits::iterator::Iterator`
|
= note: the method `count` exists but the following trait bounds were not satisfied:
`<[closure@src/libcore/num/bignum.rs:173:60: 173:72] as ops::function::FnOnce<(&&u8,)>>::Output = bool`
which is required by `iter::adapters::TakeWhile<iter::adapters::Rev<slice::Iter<'_, u8>>, [closure@src/libcore/num/bignum.rs:173:60: 173:72]>: iter::traits::iterator::Iterator`
`[closure@src/libcore/num/bignum.rs:173:60: 173:72]: ops::function::FnMut<(&&u8,)>`
which is required by `iter::adapters::TakeWhile<iter::adapters::Rev<slice::Iter<'_, u8>>, [closure@src/libcore/num/bignum.rs:173:60: 173:72]>: iter::traits::iterator::Iterator`
`iter::adapters::TakeWhile<iter::adapters::Rev<slice::Iter<'_, u8>>, [closure@src/libcore/num/bignum.rs:173:60: 173:72]>: iter::traits::iterator::Iterator`
which is required by `&mut iter::adapters::TakeWhile<iter::adapters::Rev<slice::Iter<'_, u8>>, [closure@src/libcore/num/bignum.rs:173:60: 173:72]>: iter::traits::iterator::Iterator`
error: internal compiler error: src/librustc_middle/ich/impls_ty.rs:94:17: StableHasher: unexpected region RePlaceholder(Placeholder { universe: U1, name: BrAnon(0) })
cb12a23 to
105856cCompare6553ad6 to
1859a2bCompare1859a2b to
602ef6bComparelcnr
commented
Jul 27, 2020
@bors r=nikomatsakis rollup=never |
bors
commented
Jul 27, 2020
📌 Commit 602ef6b has been approved by |
bors
commented
Jul 27, 2020
bors
commented
Jul 27, 2020
☀️ Test successful - checks-actions, checks-azure |
Mark-Simulacrum
commented
Aug 3, 2020
Perf triage: This was a 2.5% regression on stress tests and a 1-2% loss on serde and futures (real world tests). This was expected. |
implements step 2 of rust-lang/compiler-team#285
r? @nikomatsakis