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

Make more passes incremental #51487

Merged
merged 3 commits into from Jan 13, 2019
Merged

Make more passes incremental #51487

merged 3 commits into from Jan 13, 2019

Conversation

Zoxc
Copy link
Contributor

@Zoxc Zoxc commented Jun 11, 2018

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jun 11, 2018
@rust-highfive

This comment has been minimized.

@michaelwoerister
Copy link
Member

Thanks, @Zoxc! I'll probably find some time to review this later this week.

@rust-highfive

This comment has been minimized.

@@ -608,6 +609,80 @@ impl<'hir> Map<'hir> {
&self.forest.krate.attrs
}

pub fn visit_module_item_likes<V>(&self, module: DefId, visitor: V)
Copy link
Member

Choose a reason for hiding this comment

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

You can call this just visit_module_items. "item-likes" is a term that includes hir::Item, hir::ImplItem, and hir::TraitItem, the last two of which are not top-level items.

@bors
Copy link
Contributor

bors commented Jun 16, 2018

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

@pietroalbini pietroalbini added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 25, 2018
@michaelwoerister
Copy link
Member

Just to confirm, the new queries work at the module- instead of the item-level in order to make tracking less granular, right? Or is there another reason?

let node_id = self.as_local_node_id(module).unwrap();

// Read the module so we'll be re-executed if new items appear in the module
self.read(node_id);
Copy link
Member

Choose a reason for hiding this comment

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

This doesn't actually work as intended yet (see #40876). We should try and see if we can make this work properly.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I was thinking of adding a HIRModule dep-node. That would reduce the dep nodes used by the passes too.

Copy link
Member

Choose a reason for hiding this comment

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

I was thinking of adding a HIRModule dep-node.

So that the hash of the HIRModule dep-node would be a combination of the hashes of the module's items?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah.

Copy link
Member

Choose a reason for hiding this comment

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

OK, maybe. I've just opened #51982 though, which should fix the problem. If that works out, we can use the existing solution in this PR.

Copy link
Member

Choose a reason for hiding this comment

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

#51982 seems to work out just fine.

@Zoxc
Copy link
Contributor Author

Zoxc commented Jul 2, 2018

Just to confirm, the new queries work at the module- instead of the item-level in order to make tracking less granular, right?

Yeah, I want to avoid most the overhead of queries for these cheaper passes.

@michaelwoerister
Copy link
Member

OK, makes sense. We might want to apply this approach to other passes too.

};

// We can't krate() since that adds a dependency on the whole crate
self.forest.krate.visit_all_item_likes(&mut filter);
Copy link
Member

Choose a reason for hiding this comment

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

This seems a bit roundabout to me. It always visits all items in the entire crate and then filters out everything except the items in the given module, right? But we have the list of contained items right there in hir::Mod::item_ids.

@pietroalbini
Copy link
Member

Ping from triage @Zoxc! It's been a while since we heard from you, will you have time to work on this again?

@stokhos
Copy link

stokhos commented Jul 20, 2018

Ping from triage @Zoxc! It's been a while since we heard from you, any progress?

@TimNN TimNN added S-inactive Status: Inactive and waiting on the author. This is often applied to closed PRs. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Jul 24, 2018
@TimNN
Copy link
Contributor

TimNN commented Jul 24, 2018

Ping from triage, @Zoxc: we haven't heard from you in a while, so we are closing this PR for now. Thanks for your contribution and please re-open this PR if you work on it again.

@Zoxc
Copy link
Contributor Author

Zoxc commented Dec 30, 2018

@bors try

@bors
Copy link
Contributor

bors commented Dec 30, 2018

⌛ Trying commit aa3c7d719e20264d6439ac4986a83baa3f126fc6 with merge 6c428b0ab0dfe9643bb5b996b304b8f813ba26e6...

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:02b95dd8:start=1546166612087327762,finish=1546166613242139502,duration=1154811740
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0
---
[00:59:02] .................................................................................................... 500/5210
[00:59:05] ...............................i.................................................................... 600/5210
[00:59:09] .................................................................................................... 700/5210
[00:59:14] .................................................................................................... 800/5210
[00:59:19] ............i............FF.i....................................................................... 900/5210
[00:59:22] ......................................iiiii......................................................... 1000/5210
[00:59:27] .................................................................................................... 1200/5210
[00:59:30] .................................................................................................... 1300/5210
[00:59:30] .................................................................................................... 1300/5210
[00:59:32] .........................F.......................................................................... 1400/5210
[00:59:37] ..........................................i......................................................... 1600/5210
[00:59:37] ..........................................i......................................................... 1600/5210
[00:59:41] ...........i............................................................F........................... 1700/5210
[00:59:44] ........................................................................................F........... 1800/5210
[00:59:48] ...............................................................F.................................... 1900/5210
[00:59:54] .................................................................................................... 2100/5210
[00:59:54] .................................................................................................... 2100/5210
[00:59:58] .....F...F....................................................F..................................... 2200/5210
[01:00:06] F................................................................................................... 2400/5210
[01:00:06] F................................................................................................... 2400/5210
[01:00:09] ...........................................F........................................................ 2500/5210
[01:00:18] .................................................................................................... 2700/5210
[01:00:21] .................................................................................................... 2800/5210
[01:00:25] .................................................................................................... 2900/5210
[01:00:25] .................................................................................................... 2900/5210
[01:00:27] ...............................................................................................F..F. 3000/5210
[01:00:34] .....i.............................................................................................. 3200/5210
[01:00:38] ....................................................................ii...i...ii..................... 3300/5210
[01:00:42] .................................................................................................... 3400/5210
[01:00:46] .................................................................................................... 3500/5210
[01:00:46] .................................................................................................... 3500/5210
[01:00:49] .......................................................ii........................................... 3600/5210
[01:00:51] ..........................................................................i......................... 3700/5210
[01:00:52] .................................................................................................... 3800/5210
[01:00:53] .............................i...................................................................... 3900/5210
[01:00:56] .................................................................................................... 4000/5210
[01:01:06] .................................................................................................... 4100/5210
[01:01:09] .................................................................................................... 4200/5210
[01:01:12] .............................................................................................F...... 4300/5210
[01:01:16] ........................F............................................i.............................. 4400/5210
[01:01:22] .................................................................................................... 4500/5210
[01:01:25] ......................F............................................................................. 4600/5210
[01:01:32] .................................................................................................... 4800/5210
[01:01:35] .................................................................................................... 4900/5210
[01:01:39] .................................................................................................... 5000/5210
[01:01:41] .................................................................................................... 5100/5210
[01:01:41] .................................................................................................... 5100/5210
-----------------------------------------
[01:01:44] stderr:
[01:01:44] ------------------------------------------
[01:01:44] {"message":"cycle detected when computing the supertraits of `Chromosome`","code":{"code":"E0391","explanation":"\nThis error indicates that some types or traits depend on each other\nand therefore cannot be constructed.\n\nThe following example contains a circular dependency between two traits:\n\n```compile_fail,E0391\ntrait FirstTrait : SecondTrait {\n\n}\n\ntrait SecondTrait : FirstTrait {\n\n}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/cycle-trait/cycle-trait-supertrait-direct.rs","byte_start":76,"byte_end":86,"line_start":3,"line_end":3,"column_start":19,"column_end":29,"is_primary":true,"text":[{"text":"trait Chromosome: Chromosome {","highlight_start":19,"highlight_end":29}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"...which again requires computing the supertraits of `Chromosome`, completing the cycle","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"cycle used when processing ``","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/cycle-trait/cycle-trait-supertrait-direct.rs","byte_start":58,"byte_end":86,"line_start":3,"line_end":3,"column_start":1,"column_end":29,"is_primary":true,"text":[{"text":"trait Chromosome: Chromosome {","highlight_start":1,"highlight_end":29}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0391]: cycle detected when1:01:44] + LL | | existential type Foo: Copy; //~ cycle detected
[01:01:44] + LL | |
[01:01:44] + ...  |
[01:01:44] + LL | |     let _: Foo = std::mem::transmute(0u8);
[01:01:44] + LL | | }
[01:01:44] 13 
[01:01:44] 14 error: aborting due to previous error
[01:01:44] 15 
[01:01:44] 
[01:01:44] 
[01:01:44] 
[01:01:44] The actual stderr differed from the expected stderr.
[01:01:44] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/existential_types/no_inferrable_concrete_type/no_inferrable_concrete_type.stderr
[01:01:44] To update references, rerun the tests and pass the `--bless` flag
[01:01:44] To only update this specific test, also pass `--test-args existential_types/no_inferrable_concrete_type.rs`
[01:01:44] error: 1 errors occurred comparing output.
[01:01:44] status: exit code: 1
[01:01:44] status: exit code: 1
[01:01:44] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/existential_types/no_inferrable_concrete_type.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/existential_types/no_inferrable_concrete_type/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/existential_types/no_inferrable_concrete_type/auxiliary" "-A" "unused"
[01:01:44] ------------------------------------------
[01:01:44] 
[01:01:44] ------------------------------------------
[01:01:44] stderr:
[01:01:44] stderr:
[01:01:44] -------le_concrete_type.rs","byte_start":200,"byte_end":405,"line_start":4,"line_end":13,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"#![feature(existential_type)]","highlight_start":1,"highlight_end":30},{"text":"","highlight_start":1,"highlight_end":1},{"text":"existential type Foo: Copy; //~ cycle detected","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":"// make compiler happy about using 'Foo'","highlight_start":1,"highlight_end":41},{"text":"fn bar(x: Foo) -> Foo { x }","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"fn main() {","highlight_start":1,"highlight_end":12},{"text":"    let _: Foo = std::mem::transmute(0u8);","highlight_start":1,"highlight_end":43},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0391]: cycle detected when processing `Foo`\n  --> /checkout/src/test/ui/existential_types/no_inferrable_concrete_type.rs:6:1\n   |\nLL | existential type Foo: Copy; //~ cycle detected\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n   |\nnote: ...which requires processing `bar`...\n  --> /checkout/src/test/ui/existential_types/no_inferrable_concrete_type.rs:9:23\n   |\nLL | fn bar(x: Foo) -> Foo { x }\n   |                       ^^^^^\n   = note: ...which again requires processing `Foo`, completing the cycle\nnote: cycle used when processing ``\n  --> /checkout/src/test/ui/existential_types/no_inferrable_concrete_type.rs:4:1\n   |\nLL | / #![feature(existential_type)]\nessing `cycle2::{{impl-Trait}}`...
[01:01:44] 
[01:01:44] 
[01:01:44] 21 LL | fn cycle2() -> impl Clone {
[01:01:44] 22    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[01:01:44] 23 note: ...which requires evaluating trait selection obligation `impl std::clone::Clone: std::marker::Send`...
[01:01:44] -    = note: ...which again requires processing `cycle1::{{impl-Trait}}`, completing the cycle
[01:01:44] - 
[01:01:44] - error[E0391]: cycle detected when processing `cycle1::{{impl-Trait}}`
[01:01:44] + note: ...which requires processing `cycle1::{{impl-Trait}}`...
[01:01:44] 28    |
[01:01:44] 28    |
[01:01:44] 29 LL | fn cycle1() -> impl Clone {
[01:01:44] 30    |                ^^^^^^^^^^
[01:01:44] -    |
[01:01:44] -    |
[01:01:44] - note: ...which requires processing `cycle1`...
[01:01:44] -    |
[01:01:44] -    |
[01:01:44] - LL | fn cycle1() -> impl Clone {
[01:01:44] -    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[01:01:44] - note: ...which requires evaluating trait selection obligation `impl std::clone::Clone: std::marker::Send`...
[01:01:44] - note: ...which requires processing `cycle2::{{impl-Trait}}`...
[01:01:44] -    |
[01:01:44] -    |
[01:01:44] - LL | fn cycle2() -> impl Clone {
[01:01:44] -    |                ^^^^^^^^^^
[01:01:44] - note: ...which requires processing `cycle2`...
[01:01:44] -    |
[01:01:44] -    |
[01:01:44] - LL | fn cycle2() -> impl Clone {
[01:01:44] -    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[01:01:44] -    = note: ...which again requires proc `--bless` flag
[01:01:44] To only update this specific test, also pass `--test-args impl-trait/auto-trait-leak.rs`
[01:01:44] error: 1 errors occurred comparing output.
[01:01:44] status: exit code: 1
[01:01:44] status: exit code: 1
[01:01:44] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/impl-trait/auto-trait-leak.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/impl-trait/auto-trait-leak/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/impl-trait/auto-trait-leak/auxiliary" "-A" "unused"
[01:01:44] ------------------------------------------
[01:01:44] 
[01:01:44] ------------------------------------------
[01:01:44] stderr:
[01:01:44] stderr:
[01:01:44] ------------------------------------------
[01:01:44] {"message":"cycle detected when processing `cycle1`","code":{"code":"E0391","explanation":"\nThis error indicates that some types or traits depend on each other\nand therefore cannot be constructed.\n\nThe following example contains a circular dependency between two traits:\n\n```compile_fail,E0391\ntrait FirstTrait : SecondTrait {\n\n}\n\ntrait SecondTrait : FirstTrait {\n\n}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/auto-trait-leak.rs","byte_start":272,"byte_end":297,"line_start":14,"line_end":14,"column_start":1,"column_end":26,"is_primary":true,"text":[{"text":"fn cycle1() -> impl Clone {","highlight_s---------------------------------
[01:01:44] {"message":"cycle detected when computing the supertraits of `T1`","code":{"code":"E0391","explanation":"\nThis error indicates that some types or traits depend on each other\nand therefore cannot be constructed.\n\nThe following example contains a circular dependency between two traits:\n\n```compile_fail,E0391\ntrait FirstTrait : SecondTrait {\n\n}\n\ntrait SecondTrait : FirstTrait {\n\n}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-12511.rs","byte_start":11,"byte_end":13,"line_start":1,"line_end":1,"column_start":12,"column_end":14,"is_primary":true,"text":[{"text":"trait T1 : T2 {","highlight_start":12,"highlight_end":14}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"...which requires computing the supertraits of `T2`...","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-12511.rs","byte_start":56,"byte_end":58,"line_start":5,"line_end":5,"column_start":12,"column_end":14,"is_primary":true,"text":[{"text":"trait T2 : T1 {","highlight_start":12,"highlight_end":14}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"...which again requires computing the supertraits of `T1`, completing the cycle","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"cycle used when processing ``","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-12511.rs","byte_start":0,"byte_end":13,"line_start":1,"line_end":1ting the supertraits of `T`, completing the cycle
[01:01:44] + note: cycle used when processing ``
[01:01:44] +   --> $DIR/issue-20772.rs:1:1
[01:01:44] +    |
[01:01:44] + LL | / trait T : Iterator<Item=Self::Item>
[01:01:44] + LL | | //~^ ERROR cycle detected
[01:01:44] + LL | | //~| ERROR associated type `Item` not found for `Self`
[01:01:44] + LL | | {}
[01:01:44] 11 
[01:01:44] 11 
[01:01:44] 12 error[E0220]: associated type `Item` not found for `Self`
[01:01:44] 
[01:01:44] 
[01:01:44] The actual stderr differed from the expected stderr.
[01:01:44] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-20772/issue-20772.stderr
[01:01:44] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-20772/issue-20772.stderr
[01:01:44] To update references, rerun the tests and pass the `--bless` flag
[01:01:44] To only update this specific test, also pass `--test-args issues/issue-20772.rs`
[01:01:44] error: 1 errors occurred comparing output.
[01:01:44] status: exit code: 1
[01:01:44] status: exit code: 1
[01:01:44] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/issues/issue-20772.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-20772/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-20772/auxiliary" "-A" "unused"
[01:01:44] ------------------------------------------
[01:01:44] 
[01:01:44] 
[01:01:44] ---------xt":"//~^ ERROR cycle detected","highlight_start":1,"highlight_end":26},{"text":"//~| ERROR associated type `Item` not found for `Self`","highlight_start":1,"highlight_end":55},{"text":"{}","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0391]: cycle detected when computing the supertraits of `T`\n  --> /checkout/src/test/ui/issues/issue-20772.rs:1:1\n   |\nLL | / trait T : Iterator<Item=Self::Item>\nLL | | //~^ ERROR cycle detected\nLL | | //~| ERROR associated type `Item` not found for `Self`\nLL | | {}\n   | |__^\n   |\n   = note: ...which again requires computing the supertraits of `T`, completing the cycle\nnote: cycle used when processing ``\n  --> /checkout/src/test/ui/issues/issue-20772.rs:1:1\n   |\nLL | / trait T : Iterator<Item=Self::Item>\nLL | | //~^ ERROR cycle detected\nLL | | //~| ERROR associated type `Item` not found for `Self`\nLL | | {}\n   | |__^\n\n"}
[01:01:44] {"message":"associated type `Item` not found for `Self`","code":{"code":"E0220","explanation":"\nYou used an associated type which isn't defined in the trait.\nErroneous code example:\n\n```compile_fail,E0220\ntrait T1 {\n    type Bar;\n}\n\ntype Foo = T1<F=i32>; // error: associated type `F` not found for `T1`\n\n// or:\n\ntrait T2 {\n    type Bar;\n\n    // error: Baz is used but not declared\n    fn return_bool(&self, _: &Self::Bar, _: &Self::Baz) -> bool;\n}\n```\n\nMake sure that you have defined the associated type in the trait body.\nAlso, verify that you used the right trait or you didn't misspell the\nas/issue-20772.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3245:9
[01:01:44] ---- [ui] ui/issues/issue-20825.rs stdout ----
[01:01:44] diff of stderr:
[01:01:44] 
[01:01:44] 5    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[01:01:44] 5    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[01:01:44] 6    |
[01:01:44] 7    = note: ...which again requires computing the supertraits of `Processor`, completing the cycle
[01:01:44] + note: cycle used when processing ``
[01:01:44] +   --> $DIR/issue-20825.rs:5:1
[01:01:44] +    |
[01:01:44] + LL | pub trait Processor: Subscriber<Input = Self::Input> {
[01:01:44] 8 
[01:01:44] 9 error: aborting due to previous error
[01:01:44] 10 
[01:01:44] 
[01:01:44] 
[01:01:44] 
[01:01:44] The actual stderr differed from the expected stderr.
[01:01:44] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-20825/issue-20825.stderr
[01:01:44] To update references, rerun the tests and pass the `--bless` flag
[01:01:44] To only update this specific test, also pass `--test-args issues/issue-20825.rs`
[01:01:44] error: 1 errors occurred comparing output.
[01:01:44] status: exit code: 1
[01:01:44] status: exit code: 1
[01:01:44] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/issues/issue-20825.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-20825/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-te{","highlight_start":1,"highlight_end":53}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0391]: cycle detected when computing the supertraits of `Processor`\n  --> /checkout/src/test/ui/issues/issue-20825.rs:5:1\n   |\nLL | pub trait Processor: Subscriber<Input = Self::Input> {\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n   |\n   = note: ...which again requires computing the supertraits of `Processor`, completing the cycle\nnote: cycle used when processing ``\n  --> /checkout/src/test/ui/issues/issue-20825.rs:5:1\n   |\nLL | pub trait Processor: Subscriber<Input = Self::Input> {\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[01:01:44] {"message":"aborting due to previous error","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to previous error\n\n"}
[01:01:44] {"message":"For more information about this error, try `rustc --explain E0391`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about this error, try `rustc --explain E0391`.\n"}
[01:01:44] ------------------------------------------
[01:01:44] 
[01:01:44] thread '[ui] ui/issues/issue-20825.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3245:9
[01:01:44] 
[01:01:44] 
[01:01:44] ---- [ui] ui/issues/issue-22673.rs stdout ----
[01:01:44] diff of stderr:
[01:01:44] 
[01:01:44] 5    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[01:01:44] 6    |
[01:01:44] 7    = note: ...which again requires computing the supertraits of `Expr`, completing the cyclelp","spans":[],"children":[],"rendered":null}],"rendered":"error[E0658]: use of unstable library feature 'unstable_test_feature'\n  --> /checkout/src/test/ui/lint/lint-output-format.rs:6:1\n   |\nLL | extern crate lint_output_format; //~ ERROR use of unstable library feature\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n   |\n   = help: add #![feature(unstable_test_feature)] to the crate attributes to enable\n\n"}
[01:01:44] {"message":"use of unstable library feature 'unstable_test_feature'","code":{"code":"E0658","explanation":"\nAn unstable feature was used.\n\nErroneous code example:\n\n```compile_fail,E658\n#[repr(u128)] // error: use of unstable library feature 'repr128'\nenum Foo {\n    Bar(u64),\n}\n```\n\nIf you're using a stable or a beta version of rustc, you won't be able to use\nany unstable features. In order to do so, please switch to a nightly version of\nrustc (by using rustup).\n\nIf you're using a nightly version of rustc, just add the corresponding feature\nto be able to use it:\n\n```\n#![feature(repr128)]\n\n#[repr(u128)] // ok!\nenum Foo {\n    Bar(u64),\n}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/lint/lint-output-format.rs","byte_start":295,"byte_end":298,"line_start":11,"line_end":11,"column_start":14,"column_end":17,"is_primary":true,"text":[{"text":"    let _y = bar(); //~ ERROR use of unstable library feature","highlight_start":14,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"add #![feature(unstable_test_feature)] to the crate attributes to enable","code":null,"level":"help","spans":
[01:01:44] +    |
[01:01:44] +    = note: #[warn(deprecated)] on by default
[01:01:44] 14 
[01:01:44] 15 
[01:01:44] 15 
[01:01:44] 
[01:01:44] 
[01:01:44] The actual stderr differed from the expected stderr.
[01:01:44] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/lint-output-format-2/lint-output-format-2.stderr
[01:01:44] To update references, rerun the tests and pass the `--bless` flag
[01:01:44] To only update this specific test, also pass `--test-args lint/lint-output-format-2.rs`
[01:01:44] error: 1 errors occurred comparing output.
[01:01:44] status: exit code: 0
[01:01:44] status: exit code: 0
[01:01:44] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/lint/lint-output-format-2.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/lint-output-format-2/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/lint-output-format-2/auxiliary" "-A" "unused"
[01:01:44] ------------------------------------------
[01:01:44] 
[01:01:44] ------------------------------------------
[01:01:44] stderr:
[01:01:44] stderr:
[01:01:44] ------------------------------------------
[01:01:44] {"message":"use of deprecated item 'lint_output_format::foo': text","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/lint/lint-output-format-2.rs","byte_start":252,"byte_end":255,"line_start":12,"line_end":12,"column_start":14,"column_end":17,"is_primary":true,"text":[{"text":"    let _x = foo();","highlight_start":14,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"#[warn(deprecated)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"warning: use of deprecated item 'lint_output_format::foo': text\n  --> /checkout/src/test/ui/lint/lint-output-format-2.rs:12:14\n   |\nLL |     let _x = foo();\n   |              ^^^\n   |\n   = note: #[warn(deprecated)] on by default\n\n"}
[01:01:44] ------------------------------------------
[01:01:44] 
[01:01:44] thread '[ui] ui/lint/lint-output-format-2.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3245:9
[01:01:44] 
[01:01:44] 
[01:01:44] ---- [ui] ui/resolve/issue-23305.rs stdout ----
[01:01:44] diff of stderr:
[01:01:44] 
[01:01:44] 5    |            ^^^^
[01:01:44] 6    |
[01:01:44] 7    = note: ...which again requires processing `<impl at $DIR/issue-23305.rs:5:1: 5:20>`, completing the cycle
[01:01:44] + note: cycle used when processing ``
[01:01:44] +   --> $DIR/issue-23305.rs:1:1
[01:01:44] +    |
[01:01:44] + LL | pub trait ToNbt<T> {
[01:01:44] 8 
[01:01:44] 9 error: aborting due to previous error
[01:01:44] 10 
[01:01:44] 
[01:01:44] 
[01:01:44] 
[01:01:44] The actual stderr differed from the expected stderr.
[01:01:44] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/resolve/issue-23305/issue-2330column_end":16,"is_primary":true,"text":[{"text":"impl ToNbt<Self> {}","highlight_start":12,"highlight_end":16}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"...which again requires processing `<impl at /checkout/src/test/ui/resolve/issue-23305.rs:5:1: 5:20>`, completing the cycle","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"cycle used when processing ``","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/resolve/issue-23305.rs","byte_start":0,"byte_end":18,"line_start":1,"line_end":1,"column_start":1,"column_end":19,"is_primary":true,"text":[{"text":"pub trait ToNbt<T> {","highlight_start":1,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0391]: cycle detected when processing `<impl at /checkout/src/test/ui/resolve/issue-23305.rs:5:1: 5:20>`\n  --> /checkout/src/test/ui/resolve/issue-23305.rs:5:12\n   |\nLL | impl ToNbt<Self> {}\n   |            ^^^^\n   |\n   = note: ...which again requires processing `<impl at /checkout/src/test/ui/resolve/issue-23305.rs:5:1: 5:20>`, completing the cycle\nnote: cycle used when processing ``\n  --> /checkout/src/test/ui/resolve/issue-23305.rs:1:1\n   |\nLL | pub trait ToNbt<T> {\n   | ^^^^^^^^^^^^^^^^^^\n\n"}
[01:01:44] {"message":"aborting due to previous error","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to previous error\n\n"}
[01:01:44] {"message":"For more information about this error, try `rustc --ex:"}","highlight_start":1,"highlight_end":2},{"text":"","highlight_start":1,"highlight_end":1},{"text":"impl Tr<Self> for S {} // OK","highlight_start":1,"highlight_end":29},{"text":"impl<T: Tr<Self>> Tr<T> for S {} // OK","highlight_start":1,"highlight_end":39},{"text":"impl Tr for S where Self: Copy {} // OK","highlight_start":1,"highlight_end":40},{"text":"impl Tr for S where S<Self>: Copy {} // OK","highlight_start":1,"highlight_end":43},{"text":"impl Tr for S where Self::A: Copy {} // OK","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"impl Tr for Self {} //~ ERROR cycle detected","highlight_start":1,"highlight_end":45},{"text":"impl Tr for S<Self> {} //~ ERROR cycle detected","highlight_start":1,"highlight_end":48},{"text":"impl Self {} //~ ERROR cycle detected","highlight_start":1,"highlight_end":38},{"text":"impl S<Self> {} //~ ERROR cycle detected","highlight_start":1,"highlight_end":41},{"text":"impl Tr<Self::A> for S {} //~ ERROR cycle detected","highlight_start":1,"highlight_end":51},{"text":"","highlight_start":1,"highlight_end":1},{"text":"fn main() {}","highlight_start":1,"highlight_end":13}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0391]: cycle detected when processing `<impl at /checkout/src/test/ui/resolve/resolve-self-in-impl.rs:16:1: 16:13>`\n  --> /checkout/src/test/ui/resolve/resolve-self-in-impl.rs:16:6\n   |\nLL | impl Self {} //~ ERROR cycle detected\n   |      ^^^^\n   |\n   = note: ...which again requires processing `<impl at /checkout/src/test/ui/r0,"column_start":1,"column_end":13,"is_primary":true,"text":[{"text":"#![feature(associated_type_defaults)]","highlight_start":1,"highlight_end":38},{"text":"","highlight_start":1,"highlight_end":1},{"text":"struct S<T = u8>(T);","highlight_start":1,"highlight_end":21},{"text":"trait Tr<T = u8> {","highlight_start":1,"highlight_end":19},{"text":"    type A = ();","highlight_start":1,"highlight_end":17},{"text":"}","highlight_start":1,"highlight_end":2},{"text":"","highlight_start":1,"highlight_end":1},{"text":"impl Tr<Self> for S {} // OK","highlight_start":1,"highlight_end":29},{"text":"impl<T: Tr<Self>> Tr<T> for S {} // OK","highlight_start":1,"highlight_end":39},{"text":"impl Tr for S where Self: Copy {} // OK","highlight_start":1,"highlight_end":40},{"text":"impl Tr for S where S<Self>: Copy {} // OK","highlight_start":1,"highlight_end":43},{"text":"impl Tr for S where Self::A: Copy {} // OK","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"impl Tr for Self {} //~ ERROR cycle detected","highlight_start":1,"highlight_end":45},{"text":"impl Tr for S<Self> {} //~ ERROR cycle detected","highlight_start":1,"highlight_end":48},{"text":"impl Self {} //~ ERROR cycle detected","highlight_start":1,"highlight_end":38},{"text":"impl S<Self> {} //~ ERROR cycle detected","highlight_start":1,"highlight_end":41},{"text":"impl Tr<Self::A> for S {} //~ ERROR cycle detected","highlight_start":1,"highlight_end":51},{"text":"","highlight_start":1,"highlight_end":1},{"text":"fn main() {}","highlight_start":1,"highlight_end":13}],"label":null,"suggested_replacement":null,"suggestion_applicabiliren":[{"message":"...which again requires processing `<impl at /checkout/src/test/ui/resolve/resolve-self-in-impl.rs:18:1: 18:26>`, completing the cycle","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"cycle used when processing ``","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/resolve/resolve-self-in-impl.rs","byte_start":0,"byte_end":530,"line_start":1,"line_end":20,"column_start":1,"column_end":13,"is_primary":true,"text":[{"text":"#![feature(associated_type_defaults)]","highlight_start":1,"highlight_end":38},{"text":"","highlight_start":1,"highlight_end":1},{"text":"struct S<T = u8>(T);","highlight_start":1,"highlight_end":21},{"text":"trait Tr<T = u8> {","highlight_start":1,"highlight_end":19},{"text":"    type A = ();","highlight_start":1,"highlight_end":17},{"text":"}","highlight_start":1,"highlight_end":2},{"text":"","highlight_start":1,"highlight_end":1},{"text":"impl Tr<Self> for S {} // OK","highlight_start":1,"highlight_end":29},{"text":"impl<T: Tr<Self>> Tr<T> for S {} // OK","highlight_start":1,"highlight_end":39},{"text":"impl Tr for S where Self: Copy {} // OK","highlight_start":1,"highlight_end":40},{"text":"impl Tr for S where S<Self>: Copy {} // OK","highlight_start":1,"highlight_end":43},{"text":"impl Tr for S where Self::A: Copy {} // OK","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"impl Tr for Self {} //~ ERROR cycle detected","highlight_start":1,"highlight_end":45},{"text":"impl Tr for S<Self> {} //~ ERROR cycle detected","highlight_start":1,"highlight_end":48},{"text":"impl Self {} //~ ERROR--------------------------
[01:01:44] thread '[ui] ui/resolve/resolve-self-in-impl.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3245:9
[01:01:44] 
[01:01:44] ---- [ui] ui/simd-intrinsic/simd-intrinsic-declaration-type.rs stdout ----
[01:01:44] diff of stderr:
[01:01:44] diff of stderr:
[01:01:44] 
[01:01:44] - error[E0442]: intrinsic argument 1 has wrong type: found `u16`, expected `i16`
[01:01:44] -    |
[01:01:44] -    |
[01:01:44] - LL |         fn x86_mm_adds_epi16(x: u16x8, y: u16x8) -> u16x8;
[01:01:44] - 
[01:01:44] - 
[01:01:44] - error[E0442]: intrinsic argument 2 has wrong type: found `u16`, expected `i16`
[01:01:44] -    |
[01:01:44] -    |
[01:01:44] - LL |         fn x86_mm_adds_epi16(x: u16x8, y: u16x8) -> u16x8;
[01:01:44] - 
[01:01:44] - 
[01:01:44] - error[E0442]: intrinsic return value has wrong type: found `u16`, expected `i16`
[01:01:44] -    |
[01:01:44] -    |
[01:01:44] - LL |         fn x86_mm_adds_epi16(x: u16x8, y: u16x8) -> u16x8;
[01:01:44] - 
[01:01:44] - 
[01:01:44] - error[E0442]: intrinsic argument 1 has wrong type: found `i16`, expected `u16`
[01:01:44] -    |
[01:01:44] -    |
[01:01:44] - LL |         fn x86_mm_adds_epu16(x: i16x8, y: i16x8) -> i16x8;
[01:01:44] -    |         ^^^^^^^^^1:01:44] +    |
[01:01:44] + LL |         fn x86_mm_adds_epi16(x: u16x8, y: u16x8) -> u16x8;
[01:01:44] + 
[01:01:44] + 
[01:01:44] + error[E0442]: intrinsic return value has wrong type: found `u16`, expected `i16`
[01:01:44] +   --> $DIR/simd-intrinsic-declaration-type.rs:33:9
[01:01:44] +    |
[01:01:44] + LL |         fn x86_mm_adds_epi16(x: u16x8, y: u16x8) -> u16x8;
[01:01:44] + 
[01:01:44] + 
[01:01:44] + error[E0442]: intrinsic argument 1 has wrong type: found `i16`, expected `u16`
[01:01:44] +   --> $DIR/simd-intrinsic-declaration-type.rs:37:9
[01:01:44] +    |
[01:01:44] + LL |         fn x86_mm_adds_epu16(x: i16x8, y: i16x8) -> i16x8;
[01:01:44] + 
[01:01:44] + 
[01:01:44] + error[E0442]: intrinsic argument 2 has wrong type: found `i16`, expected `u16`
[01:01:44] +   --> $DIR/simd-intrinsic-declaration-type.rs:37:9
[01:01:44] +    |
[01:01:44] + LL |         fn x86_mm_adds_epu16(x: i16x8, y: i16x8) -> i16x8;
[01:01:44] + 
[01:01:44] + 
[01:01:44] + error[E0442]: intrinsic return value has wrong type: found `i16`, expected `u16`
[01:01:44] +   --> $DIR/simd-intrinsic-declaration-type.rs:37:9
[01:01:44] +    |
[01:01:44] + LL |         fn x86_mm_adds_epu16(x: i16x8, y: i16x8) -> i16x8;
[01:01:44] 72 
[01:01:44] 73 error: aborting due to 12 previous errors
[01:01:44] 73 error: aborting due to 12 previous errors
[01:01:44] i16x8; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/simd-intrinsic/simd-intrinsic-declaration-type.rs","byte_start":821,"byte_end":871,"line_start":33,"line_end":33,"column_start":9,"column_end":59,"is_primary":true,"text":[{"text":"        fn x86_mm_adds_epi16(x: u16x8, y: u16x8) -> u16x8;","highlight_start":9,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0442]: intrinsic argument 2 has wrong type: found `u16`, expected `i16`\n  --> /checkout/src/test/ui/simd-intrinsic/simd-intrinsic-declaration-type.rs:33:9\n   |\nLL |         fn x86_mm_adds_epi16(x: u16x8, y: u16x8) -> u16x8;\n   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[01:01:44] {"message":"intrinsic return value has wrong type: found `u16`, expected `i16`","code":{"code":"E0442","explanation":"\nIntrinsic argument(s) and/or return value have the wrong type.\nErroneous code example:\n\n```compile_fail,E0442\n#![feature(repr_simd)]\n#![feature(platform_intrinsics)]\n\n#[repr(simd)]\nstruct i8x16(i8, i8, i8, i8, i8, i8, i8, i8,\n             i8, i8, i8, i8, i8, i8, i8, i8);\n#[repr(simd)]\nstruct i32x4(i32, i32, i32, i32);\n#[repr(simd)]\nstruct i64x2(i64, i64);\n\nextern \"platform-intrinsic\" {\n    fn x86_mm_adds_epi16(x: i8x16, y: i32x4) -> i64x2;\n    // error: intrinsic arguments/return value have wrong type\n}\n```\n\nTo fix this error, please refer to the function declaration to give\nit the awaited types. Example:\n\n```\n#![feature(repr_simd)]\n#![feature(platform_intrinsics)]\n\n#[repr(simd)]\nstruct io give\nit the awaited types. Example:\n\n```\n#![feature(repr_simd)]\n#![feature(platform_intrinsics)]\n\n#[repr(simd)]\nstruct i16x8(i16, i16, i16, i16, i16, i16, i16, i16);\n\nextern \"platform-intrinsic\" {\n    fn x86_mm_adds_epi16(x: i16x8, y: i16x8) -> i16x8; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/simd-intrinsic/simd-intrinsic-declaration-type.rs","byte_start":1050,"byte_end":1100,"line_start":37,"line_end":37,"column_start":9,"column_end":59,"is_primary":true,"text":[{"text":"        fn x86_mm_adds_epu16(x: i16x8, y: i16x8) -> i16x8;","highlight_start":9,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0442]: intrinsic argument 1 has wrong type: found `i16`, expected `u16`\n  --> /checkout/src/test/ui/simd-intrinsic/simd-intrinsic-declaration-type.rs:37:9\n   |\nLL |         fn x86_mm_adds_epu16(x: i16x8, y: i16x8) -> i16x8;\n   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[01:01:44] {"message":"intrinsic argument 2 has wrong type: found `i16`, expected `u16`","code":{"code":"E0442","explanation":"\nIntrinsic argument(s) and/or return value have the wrong type.\nErroneous code example:\n\n```compile_fail,E0442\n#![feature(repr_simd)]\n#![feature(platform_intrinsics)]\n\n#[repr(simd)]\nstruct i8x16(i8, i8, i8, i8, i8, i8, i8, i8,\n             i8, i8, i8, i8, i8, i8, i8, i8);\n#[repr(simd)]\nstruct i32x4(i32, i32, i32, i32);\n#[repr(simd)]\nstruct i64x2(i64, i64);\n\nextern \"platform-intrinsic\" {\n    fn x86_mm_adds_epi16(x: i8x16, y: i32x4) -> i64x2;\n    /pr(simd)]\nstruct i64x2(i64, i64);\n\nextern \"platform-intrinsic\" {\n    fn x86_mm_adds_epi16(x: i8x16, y: i32x4) -> i64x2;\n    // error: intrinsic arguments/return value have wrong type\n}\n```\n\nTo fix this error, please refer to the function declaration to give\nit the awaited types. Example:\n\n```\n#![feature(repr_simd)]\n#![feature(platform_intrinsics)]\n\n#[repr(simd)]\nstruct i16x8(i16, i16, i16, i16, i16, i16, i16, i16);\n\nextern \"platform-intrinsic\" {\n    fn x86_mm_adds_epi16(x: i16x8, y: i16x8) -> i16x8; // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/simd-intrinsic/simd-intrinsic-declaration-type.rs","byte_start":1050,"byte_end":1100,"line_start":37,"line_end":37,"column_start":9,"column_end":59,"is_primary":true,"text":[{"text":"        fn x86_mm_adds_epu16(x: i16x8, y: i16x8) -> i16x8;","highlight_start":9,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0442]: intrinsic return value has wrong type: found `i16`, expected `u16`\n  --> /checkout/src/test/ui/simd-intrinsic/simd-intrinsic-declaration-type.rs:37:9\n   |\nLL |         fn x86_mm_adds_epu16(x: i16x8, y: i16x8) -> i16x8;\n   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[01:01:44] {"message":"aborting due to 12 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 12 previous errors\n\n"}
[01:01:44] {"message":"For more information about this error, try `rustc --explain E0442`.","code":null,"level":"","spans":[],"children":[],"rendered":"For moreux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--src-base" "/checkout/src/test/ui" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "ui" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-6.0/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--quiet" "--llvm-version" "6.0.0\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
[01:01:44] 
[01:01:44] 
[01:01:44] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:01:44] Build completed unsuccessfully in 0:03:55
[01:01:44] Build completed unsuccessfully in 0:03:55
[01:01:44] make: *** [check] Error 1
[01:01:44] Makefile:48: recipe for target 'check' failed
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:0b912c70
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Sun Dec 30 11:45:26 UTC 

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@bors
Copy link
Contributor

bors commented Dec 30, 2018

☀️ Test successful - status-travis
State: approved= try=True

@Zoxc
Copy link
Contributor Author

Zoxc commented Dec 30, 2018

@rust-timer build 6c428b0ab0dfe9643bb5b996b304b8f813ba26e6

@rust-timer
Copy link
Collaborator

Success: Queued 6c428b0ab0dfe9643bb5b996b304b8f813ba26e6 with parent 0e6f898, comparison URL.

@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jan 12, 2019
@bors
Copy link
Contributor

bors commented Jan 12, 2019

⌛ Testing commit e69c2c7 with merge 267ee5bff2c343dd2d59c70a49da62364cd47935...

@bors
Copy link
Contributor

bors commented Jan 13, 2019

💔 Test failed - checks-travis

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jan 13, 2019
@rust-highfive
Copy link
Collaborator

The job dist-x86_64-apple of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
[00:03:17]       Memory: 8 GB
[00:03:17]       Boot ROM Version: VMW71.00V.0.B64.1704110547
[00:03:17]       Apple ROM Info: [MS_VM_CERT/SHA1/27d66596a61c48dd3dc7216fd715126e33f59ae7]Welcome to the Virtual Machine
[00:03:17]       SMC Version (system): 2.8f0
[00:03:17]       Serial Number (system): VMBa2OPXDX6K
[00:03:17] 
[00:03:17] hw.ncpu: 4
[00:03:17] hw.byteorder: 1234
[00:03:17] hw.memsize: 8589934592
---

[02:50:40] travis_time:end:stage2-cargo-fmt:start=1547345607622329000,finish=1547345613986765000,duration=6364436000

[02:50:40] [TIMING] ToolBuild { compiler: Compiler { stage: 2, host: "x86_64-apple-darwin" }, target: "x86_64-apple-darwin", tool: "cargo-fmt", path: "src/tools/rustfmt", mode: ToolRustc, is_optional_tool: true, source_type: Submodule, extra_features: [] } -- 6.397
The job exceeded the maximum time limit for jobs, and has been terminated.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@Xanewok
Copy link
Member

Xanewok commented Jan 13, 2019

Hm, Apple builders seem to not be happy but at a glance this doesn’t regress CI time comparing to other PRs. Let’s try one more time before summoning someone more knowledgeable from infra...

@bors retry

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 13, 2019
@bors
Copy link
Contributor

bors commented Jan 13, 2019

⌛ Testing commit e69c2c7 with merge 2fadb0a...

bors added a commit that referenced this pull request Jan 13, 2019
@bors
Copy link
Contributor

bors commented Jan 13, 2019

☀️ Test successful - checks-travis, status-appveyor
Approved by: michaelwoerister
Pushing 2fadb0a to master...

@bors bors merged commit e69c2c7 into rust-lang:master Jan 13, 2019
@Zoxc Zoxc deleted the incr-passes branch January 13, 2019 22:35
@jens1o
Copy link
Contributor

jens1o commented Jan 14, 2019

woah, this is a noticeable hit. 🎉 Thanks for your work!

Centril added a commit to Centril/rust that referenced this pull request Jan 15, 2019
Make privacy checking, intrinsic checking and liveness checking incremental

Blocked on rust-lang#51487

r? @michaelwoerister
Centril added a commit to Centril/rust that referenced this pull request Jan 15, 2019
Make privacy checking, intrinsic checking and liveness checking incremental

Blocked on rust-lang#51487

r? @michaelwoerister
Centril added a commit to Centril/rust that referenced this pull request Jan 17, 2019
Make privacy checking, intrinsic checking and liveness checking incremental

Blocked on rust-lang#51487

r? @michaelwoerister
Centril added a commit to Centril/rust that referenced this pull request Jan 17, 2019
Make privacy checking, intrinsic checking and liveness checking incremental

Blocked on rust-lang#51487

r? @michaelwoerister
Centril added a commit to Centril/rust that referenced this pull request Jan 17, 2019
Make privacy checking, intrinsic checking and liveness checking incremental

Blocked on rust-lang#51487

r? @michaelwoerister
bors added a commit that referenced this pull request Jan 19, 2019
Make privacy checking, intrinsic checking and liveness checking incremental

Blocked on #51487

r? @michaelwoerister
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet