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

Tweak errors for missing associated types and type parameters #67268

Merged
merged 10 commits into from
Dec 26, 2019

Conversation

estebank
Copy link
Contributor

@estebank estebank commented Dec 12, 2019

  • On dyn Trait missing associated types, provide a structured suggestion for them
  • On missing type parameters, provide structured suggestion for them
  • Point at trait definition when missing required type parameter
  • Tweak output of E0658
  • Tweak wording of E0719
  • Account for Trait1 + Trait2 case

Fix #66380, fix #60595. CC #63711.

@rust-highfive
Copy link
Collaborator

r? @varkor

(rust_highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Dec 12, 2019
--> $DIR/issue-28344.rs:4:17
|
LL | let x: u8 = BitXor::bitor(0 as u8, 0 as u8);
| ^^^^^^^^^^^^^ associated type `Output` must be specified
| ^^^^^^ help: specify the associated type: `BitXor<Output = Type>`
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is the case I'm protecting against when figuring out that there's a path with only one segment in the trait ref.

Comment on lines +28 to +34
LL | / pub trait Bar<X=usize, A=Self> {
LL | | fn foo(&self);
LL | | }
| |_- type parameter `A` must be specified for this
...
LL | let e = Bar::<usize>::lol();
| ^^^ missing reference to `A`
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is the case I'm protecting against when making sure that the path segment has no args being set.

@estebank
Copy link
Contributor Author

Colorized output of test case in #66380:

@rust-highfive

This comment has been minimized.

src/librustc_typeck/astconv.rs Outdated Show resolved Hide resolved
src/librustc_typeck/astconv.rs Outdated Show resolved Hide resolved
src/librustc_typeck/astconv.rs Outdated Show resolved Hide resolved
src/librustc_typeck/astconv.rs Outdated Show resolved Hide resolved
@rust-highfive

This comment has been minimized.

@rust-highfive

This comment has been minimized.

@estebank
Copy link
Contributor Author

Blasting @rust-lang/wg-diagnostics for feedback

@Centril
Copy link
Contributor

Centril commented Dec 13, 2019

From a purely .stderr POV, this seems like a good improvement. From a happy-code-path POV, the diagnostics are well isolated so readability should not suffer. 👍 overall.

@rust-highfive

This comment has been minimized.

@estebank estebank force-pushed the assoc-types branch 3 times, most recently from 8e712a0 to dab3906 Compare December 18, 2019 19:59
@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-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Dec 25, 2019
@bors
Copy link
Contributor

bors commented Dec 25, 2019

⌛ Testing commit 60cfff65987b46e37f9ab3cc8280d8c393297c5d with merge a0ba6f68f8a1a802b47ef02dce477556ff4f87f1...

@rust-highfive
Copy link
Collaborator

The job i686-apple of your PR failed (pretty log, 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.
2019-12-25T08:30:23.6355310Z diff of stderr:
2019-12-25T08:30:23.6355420Z 
2019-12-25T08:30:23.6355520Z 10    |                     trait alias used in trait object type (first use)
2019-12-25T08:30:23.6355640Z 11 
2019-12-25T08:30:23.6355790Z 12 error[E0191]: the value of the associated types `A` (from trait `Y`), `Output` (from trait `std::ops::Add`), `Output` (from trait `std::ops::Mul`), `Output` (from trait `std::ops::Sub`) must be specified
2019-12-25T08:30:23.6357320Z +   --> $DIR/missing-associated-types.rs:12:32
2019-12-25T08:30:23.6357650Z 14    |
2019-12-25T08:30:23.6358050Z 15 LL |     type A;
2019-12-25T08:30:23.6358880Z 16    |     ------- `A` defined here
2019-12-25T08:30:23.6358880Z 16    |     ------- `A` defined here
2019-12-25T08:30:23.6359170Z 
2019-12-25T08:30:23.6359340Z 39    |                     trait alias used in trait object type (first use)
2019-12-25T08:30:23.6359440Z 40 
2019-12-25T08:30:23.6359630Z 41 error[E0191]: the value of the associated types `A` (from trait `Z`), `B` (from trait `Z`), `Output` (from trait `std::ops::Add`), `Output` (from trait `std::ops::Div`), `Output` (from trait `std::ops::Div`), `Output` (from trait `std::ops::Mul`), `Output` (from trait `std::ops::Sub`) must be specified
2019-12-25T08:30:23.6361190Z +   --> $DIR/missing-associated-types.rs:15:52
2019-12-25T08:30:23.6361560Z 43    |
2019-12-25T08:30:23.6361670Z 44 LL |     type A;
2019-12-25T08:30:23.6362250Z 45    |     ------- `A` defined here
2019-12-25T08:30:23.6362250Z 45    |     ------- `A` defined here
2019-12-25T08:30:23.6362540Z 
2019-12-25T08:30:23.6362710Z 75    |                     trait alias used in trait object type (first use)
2019-12-25T08:30:23.6362840Z 76 
2019-12-25T08:30:23.6362980Z 77 error[E0191]: the value of the associated types `A` (from trait `Y`), `Output` (from trait `std::ops::Add`), `Output` (from trait `std::ops::Sub`) must be specified
2019-12-25T08:30:23.6364440Z +   --> $DIR/missing-associated-types.rs:18:43
2019-12-25T08:30:23.6364770Z 79    |
2019-12-25T08:30:23.6364900Z 80 LL |     type A;
2019-12-25T08:30:23.6365470Z 81    |     ------- `A` defined here
2019-12-25T08:30:23.6365470Z 81    |     ------- `A` defined here
2019-12-25T08:30:23.6365760Z 
2019-12-25T08:30:23.6365910Z 103    |                     trait alias used in trait object type (first use)
2019-12-25T08:30:23.6366030Z 104 
2019-12-25T08:30:23.6366600Z 105 error[E0191]: the value of the associated types `Output` (from trait `std::ops::Add`), `Output` (from trait `std::ops::Sub`) must be specified
2019-12-25T08:30:23.6368070Z +   --> $DIR/missing-associated-types.rs:21:21
2019-12-25T08:30:23.6368410Z 107    |
2019-12-25T08:30:23.6368410Z 107    |
2019-12-25T08:30:23.6368550Z 108 LL | type Bat<Rhs> = dyn Add<Rhs> + Sub<Rhs> + Fine<Rhs>;
2019-12-25T08:30:23.6368680Z 109    |                     ^^^^^^^^   ^^^^^^^^ associated type `Output` must be specified
2019-12-25T08:30:23.6368830Z 
2019-12-25T08:30:23.6368940Z The actual stderr differed from the expected stderr.
2019-12-25T08:30:23.6369680Z Actual stderr saved to /Users/runner/runners/2.163.1/work/1/s/build/i686-apple-darwin/test/ui/associated-types/missing-associated-types/missing-associated-types.stderr
2019-12-25T08:30:23.6369680Z Actual stderr saved to /Users/runner/runners/2.163.1/work/1/s/build/i686-apple-darwin/test/ui/associated-types/missing-associated-types/missing-associated-types.stderr
2019-12-25T08:30:23.6370520Z To update references, rerun the tests and pass the `--bless` flag
2019-12-25T08:30:23.6371410Z To only update this specific test, also pass `--test-args associated-types/missing-associated-types.rs`
2019-12-25T08:30:23.6371860Z error: 1 errors occurred comparing output.
2019-12-25T08:30:23.6371960Z status: exit code: 1
2019-12-25T08:30:23.6371960Z status: exit code: 1
2019-12-25T08:30:23.6373430Z command: "/Users/runner/runners/2.163.1/work/1/s/build/i686-apple-darwin/stage2/bin/rustc" "/Users/runner/runners/2.163.1/work/1/s/build/i686-apple-darwin/stage2/bin/rustc" "/Users/runner/runners/2.163.1/work/1/s/src/test/ui/associated-types/missing-associated-types.rs" "-Zthreads=1" "--target=i686-apple-darwin" "--error-format" "json" "-Zui-testing" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/Users/runner/runners/2.163.1/work/1/s/build/i686-apple-darwin/test/ui/associated-types/missing-associated-types" "-Crpath" "-O" "-Cdebuginfo=0" "-Zunstable-options" "-Lnative=/Users/runner/runners/2.163.1/work/1/s/build/i686-apple-darwin/native/rust-test-helpers" "-L" "/Users/runner/runners/2.163.1/work/1/s/build/i686-apple-darwin/test/ui/associated-types/missing-associated-types/auxiliary" "-A" "unused"
2019-12-25T08:30:23.6374660Z ------------------------------------------
2019-12-25T08:30:23.6374950Z 
2019-12-25T08:30:23.6375580Z ------------------------------------------
2019-12-25T08:30:23.6376070Z stderr:
2019-12-25T08:30:23.6376070Z stderr:
2019-12-25T08:30:23.6376880Z ------------------------------------------
2019-12-25T08:30:23.6377240Z error[E0225]: only auto traits can be used as additional traits in a trait object
2019-12-25T08:30:23.6377940Z   --> /Users/runner/runners/2.163.1/work/1/s/src/test/ui/associated-types/missing-associated-types.rs:12:32
2019-12-25T08:30:23.6378310Z    |
2019-12-25T08:30:23.6378450Z LL | type Foo<Rhs> = dyn Add<Rhs> + Sub<Rhs> + X<Rhs> + Y<Rhs>;
2019-12-25T08:30:23.6379030Z    |                     --------   ^^^^^^^^
2019-12-25T08:30:23.6380000Z    |                     |          additional non-auto trait
2019-12-25T08:30:23.6380380Z    |                     |          trait alias used in trait object type (additional use)
2019-12-25T08:30:23.6381010Z    |                     first non-auto trait
2019-12-25T08:30:23.6381350Z    |                     trait alias used in trait object type (first use)
2019-12-25T08:30:23.6381350Z    |                     trait alias used in trait object type (first use)
2019-12-25T08:30:23.6381480Z 
2019-12-25T08:30:23.6388050Z error[E0191]: the value of the associated types `A` (from trait `Y`), `Output` (from trait `std::ops::Add`), `Output` (from trait `std::ops::Mul`), `Output` (from trait `std::ops::Sub`) must be specified
2019-12-25T08:30:23.6389240Z    |
2019-12-25T08:30:23.6389370Z LL |     type A;
2019-12-25T08:30:23.6389940Z    |     ------- `A` defined here
2019-12-25T08:30:23.6390290Z ...
2019-12-25T08:30:23.6390290Z ...
2019-12-25T08:30:23.6390870Z LL | type Foo<Rhs> = dyn Add<Rhs> + Sub<Rhs> + X<Rhs> + Y<Rhs>;
2019-12-25T08:30:23.6391000Z    |                     ^^^^^^^^   ^^^^^^^^   ^^^^^^   ^^^^^^ associated type `A` must be specified
2019-12-25T08:30:23.6391440Z    |                     |          |          |
2019-12-25T08:30:23.6391590Z    |                     |          |          associated type `Output` must be specified
2019-12-25T08:30:23.6392040Z    |                     |          associated type `Output` must be specified
2019-12-25T08:30:23.6392440Z    |                     associated type `Output` must be specified
2019-12-25T08:30:23.6392600Z help: specify the associated types
2019-12-25T08:30:23.6392670Z    |
2019-12-25T08:30:23.6392670Z    |
2019-12-25T08:30:23.6392760Z LL | type Foo<Rhs> = dyn Add<Rhs, Output = Type> + Sub<Rhs, Output = Type> + X<Rhs, Output = Type> + Y<Rhs, A = Type>;
2019-12-25T08:30:23.6392940Z 
2019-12-25T08:30:23.6393330Z error[E0225]: only auto traits can be used as additional traits in a trait object
2019-12-25T08:30:23.6394270Z   --> /Users/runner/runners/2.163.1/work/1/s/src/test/ui/associated-types/missing-associated-types.rs:15:32
2019-12-25T08:30:23.6394380Z    |
2019-12-25T08:30:23.6394380Z    |
2019-12-25T08:30:23.6394460Z LL | type Bar<Rhs> = dyn Add<Rhs> + Sub<Rhs> + X<Rhs> + Z<Rhs>;
2019-12-25T08:30:23.6395020Z    |                     --------   ^^^^^^^^
2019-12-25T08:30:23.6395660Z    |                     |          additional non-auto trait
2019-12-25T08:30:23.6395770Z    |                     |          trait alias used in trait object type (additional use)
2019-12-25T08:30:23.6396310Z    |                     first non-auto trait
2019-12-25T08:30:23.6396410Z    |                     trait alias used in trait object type (first use)
2019-12-25T08:30:23.6396410Z    |                     trait alias used in trait object type (first use)
2019-12-25T08:30:23.6396470Z 
2019-12-25T08:30:23.6396620Z error[E0191]: the value of the associated types `A` (from trait `Z`), `B` (from trait `Z`), `Output` (from trait `std::ops::Add`), `Output` (from trait `std::ops::Div`), `Output` (from trait `std::ops::Div`), `Output` (from trait `std::ops::Mul`), `Output` (from trait `std::ops::Sub`) must be specified
2019-12-25T08:30:23.6397620Z    |
2019-12-25T08:30:23.6397730Z LL |     type A;
2019-12-25T08:30:23.6398280Z    |     ------- `A` defined here
2019-12-25T08:30:23.6398370Z LL |     type B;
2019-12-25T08:30:23.6398370Z LL |     type B;
2019-12-25T08:30:23.6398880Z    |     ------- `B` defined here
2019-12-25T08:30:23.6398960Z ...
2019-12-25T08:30:23.6399030Z LL | type Bar<Rhs> = dyn Add<Rhs> + Sub<Rhs> + X<Rhs> + Z<Rhs>;
2019-12-25T08:30:23.6399130Z    |                     ^^^^^^^^   ^^^^^^^^   ^^^^^^   ^^^^^^ associated types `A`, `B`, `Output` must be specified
2019-12-25T08:30:23.6399240Z    |                     |          |          |
2019-12-25T08:30:23.6399360Z    |                     |          |          associated types `Output` (from trait `std::ops::Mul`), `Output` (from trait `std::ops::Div`) must be specified
2019-12-25T08:30:23.6399480Z    |                     |          associated type `Output` must be specified
2019-12-25T08:30:23.6399580Z    |                     associated type `Output` must be specified
2019-12-25T08:30:23.6399650Z    |
2019-12-25T08:30:23.6400290Z help: consider introducing a new type parameter, adding `where` constraints using the fully-qualified path to the associated types
2019-12-25T08:30:23.6401030Z    |
2019-12-25T08:30:23.6401030Z    |
2019-12-25T08:30:23.6401100Z LL | type Bar<Rhs> = dyn Add<Rhs> + Sub<Rhs> + X<Rhs> + Z<Rhs>;
2019-12-25T08:30:23.6401260Z help: specify the associated types
2019-12-25T08:30:23.6401320Z    |
2019-12-25T08:30:23.6401320Z    |
2019-12-25T08:30:23.6401420Z LL | type Bar<Rhs> = dyn Add<Rhs, Output = Type> + Sub<Rhs, Output = Type> + X<Rhs> + Z<Rhs, A = Type, B = Type, Output = Type>;
2019-12-25T08:30:23.6401840Z 
2019-12-25T08:30:23.6401920Z error[E0225]: only auto traits can be used as additional traits in a trait object
2019-12-25T08:30:23.6402570Z   --> /Users/runner/runners/2.163.1/work/1/s/src/test/ui/associated-types/missing-associated-types.rs:18:32
2019-12-25T08:30:23.6402680Z    |
2019-12-25T08:30:23.6402680Z    |
2019-12-25T08:30:23.6402750Z LL | type Baz<Rhs> = dyn Add<Rhs> + Sub<Rhs> + Y<Rhs>;
2019-12-25T08:30:23.6403280Z    |                     --------   ^^^^^^^^
2019-12-25T08:30:23.6403910Z    |                     |          additional non-auto trait
2019-12-25T08:30:23.6404020Z    |                     |          trait alias used in trait object type (additional use)
2019-12-25T08:30:23.6404560Z    |                     first non-auto trait
2019-12-25T08:30:23.6404670Z    |                     trait alias used in trait object type (first use)
2019-12-25T08:30:23.6404670Z    |                     trait alias used in trait object type (first use)
2019-12-25T08:30:23.6404730Z 
2019-12-25T08:30:23.6405270Z error[E0191]: the value of the associated types `A` (from trait `Y`), `Output` (from trait `std::ops::Add`), `Output` (from trait `std::ops::Sub`) must be specified
2019-12-25T08:30:23.6406370Z    |
2019-12-25T08:30:23.6406490Z LL |     type A;
2019-12-25T08:30:23.6407060Z    |     ------- `A` defined here
2019-12-25T08:30:23.6407140Z ...
2019-12-25T08:30:23.6407140Z ...
2019-12-25T08:30:23.6407480Z LL | type Baz<Rhs> = dyn Add<Rhs> + Sub<Rhs> + Y<Rhs>;
2019-12-25T08:30:23.6407640Z    |                     ^^^^^^^^   ^^^^^^^^   ^^^^^^ associated type `A` must be specified
2019-12-25T08:30:23.6407750Z    |                     |          |
2019-12-25T08:30:23.6407870Z    |                     |          associated type `Output` must be specified
2019-12-25T08:30:23.6408000Z    |                     associated type `Output` must be specified
2019-12-25T08:30:23.6408210Z help: specify the associated types
2019-12-25T08:30:23.6408300Z    |
2019-12-25T08:30:23.6408300Z    |
2019-12-25T08:30:23.6408580Z LL | type Baz<Rhs> = dyn Add<Rhs, Output = Type> + Sub<Rhs, Output = Type> + Y<Rhs, A = Type>;
2019-12-25T08:30:23.6409100Z 
2019-12-25T08:30:23.6409210Z error[E0225]: only auto traits can be used as additional traits in a trait object
2019-12-25T08:30:23.6409900Z   --> /Users/runner/runners/2.163.1/work/1/s/src/test/ui/associated-types/missing-associated-types.rs:21:32
2019-12-25T08:30:23.6410260Z    |
2019-12-25T08:30:23.6410260Z    |
2019-12-25T08:30:23.6410380Z LL | type Bat<Rhs> = dyn Add<Rhs> + Sub<Rhs> + Fine<Rhs>;
2019-12-25T08:30:23.6410980Z    |                     --------   ^^^^^^^^
2019-12-25T08:30:23.6411960Z    |                     |          additional non-auto trait
2019-12-25T08:30:23.6412330Z    |                     |          trait alias used in trait object type (additional use)
2019-12-25T08:30:23.6412940Z    |                     first non-auto trait
2019-12-25T08:30:23.6413310Z    |                     trait alias used in trait object type (first use)
2019-12-25T08:30:23.6413310Z    |                     trait alias used in trait object type (first use)
2019-12-25T08:30:23.6413420Z 
2019-12-25T08:30:23.6413560Z error[E0191]: the value of the associated types `Output` (from trait `std::ops::Add`), `Output` (from trait `std::ops::Sub`) must be specified
2019-12-25T08:30:23.6414620Z    |
2019-12-25T08:30:23.6414620Z    |
2019-12-25T08:30:23.6414760Z LL | type Bat<Rhs> = dyn Add<Rhs> + Sub<Rhs> + Fine<Rhs>;
2019-12-25T08:30:23.6414880Z    |                     ^^^^^^^^   ^^^^^^^^ associated type `Output` must be specified
2019-12-25T08:30:23.6415000Z    |                     |
2019-12-25T08:30:23.6415510Z    |                     associated type `Output` must be specified
2019-12-25T08:30:23.6415750Z help: specify the associated types
2019-12-25T08:30:23.6415850Z    |
2019-12-25T08:30:23.6415850Z    |
2019-12-25T08:30:23.6415980Z LL | type Bat<Rhs> = dyn Add<Rhs, Output = Type> + Sub<Rhs, Output = Type> + Fine<Rhs>;
2019-12-25T08:30:23.6416130Z 
2019-12-25T08:30:23.6416130Z 
2019-12-25T08:30:23.6416450Z error[E0191]: the value of the associated types `Output` (from trait `std::ops::Div`), `Output` (from trait `std::ops::Mul`) must be specified
2019-12-25T08:30:23.6417500Z    |
2019-12-25T08:30:23.6417500Z    |
2019-12-25T08:30:23.6417620Z LL | type Bal<Rhs> = dyn X<Rhs>;
2019-12-25T08:30:23.6417760Z    |                     ^^^^^^ associated types `Output` (from trait `std::ops::Mul`), `Output` (from trait `std::ops::Div`) must be specified
2019-12-25T08:30:23.6417870Z    |
2019-12-25T08:30:23.6418700Z    = help: consider introducing a new type parameter, adding `where` constraints using the fully-qualified path to the associated types
2019-12-25T08:30:23.6419160Z error: aborting due to 9 previous errors
2019-12-25T08:30:23.6419240Z 
2019-12-25T08:30:23.6419360Z Some errors have detailed explanations: E0191, E0225.
2019-12-25T08:30:23.6419970Z For more information about an error, try `rustc --explain E0191`.
---
2019-12-25T08:30:23.6441220Z thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:385:22
2019-12-25T08:30:23.6441660Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2019-12-25T08:30:23.6459940Z 
2019-12-25T08:30:23.6460450Z 
2019-12-25T08:30:23.6463350Z command did not execute successfully: "/Users/runner/runners/2.163.1/work/1/s/build/i686-apple-darwin/stage0-tools-bin/compiletest" "/Users/runner/runners/2.163.1/work/1/s/build/i686-apple-darwin/stage0-tools-bin/compiletest" "--compile-lib-path" "/Users/runner/runners/2.163.1/work/1/s/build/i686-apple-darwin/stage2/lib" "--run-lib-path" "/Users/runner/runners/2.163.1/work/1/s/build/i686-apple-darwin/stage2/lib/rustlib/i686-apple-darwin/lib" "--rustc-path" "/Users/runner/runners/2.163.1/work/1/s/build/i686-apple-darwin/stage2/bin/rustc" "--src-base" "/Users/runner/runners/2.163.1/work/1/s/src/test/ui" "--build-base" "/Users/runner/runners/2.163.1/work/1/s/build/i686-apple-darwin/test/ui" "--stage-id" "stage2-i686-apple-darwin" "--mode" "ui" "--target" "i686-apple-darwin" "--host" "i686-apple-darwin" "--llvm-filecheck" "/Users/runner/runners/2.163.1/work/1/s/build/i686-apple-darwin/llvm/build/bin/FileCheck" "--nodejs" "/usr/local/bin/node" "--host-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/Users/runner/runners/2.163.1/work/1/s/build/i686-apple-darwin/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/Users/runner/runners/2.163.1/work/1/s/build/i686-apple-darwin/native/rust-test-helpers" "--docck-python" "/usr/local/bin/python2.7" "--lldb-python" "/usr/bin/python" "--lldb-version" "lldb-902.0.79.2\n  Swift-4.1\n" "--lldb-python-dir" "/Applications/Xcode_9.3.app/Contents/SharedFrameworks/LLDB.framework/Resources/Python" "--llvm-version" "9.0.0-rust-1.42.0-nightly\n" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
2019-12-25T08:30:23.6464770Z 
2019-12-25T08:30:23.6464840Z 
2019-12-25T08:30:23.6475160Z failed to run: /Users/runner/runners/2.163.1/work/1/s/build/bootstrap/debug/bootstrap test
2019-12-25T08:30:23.6475370Z Build completed unsuccessfully in 0:50:24
2019-12-25T08:30:23.6475370Z Build completed unsuccessfully in 0:50:24
2019-12-25T08:30:23.6534340Z == clock drift check ==
2019-12-25T08:30:23.6582210Z   local time: Wed Dec 25 08:30:23 UTC 2019
2019-12-25T08:30:23.7519950Z   network time: Wed, 25 Dec 2019 08:30:23 GMT
2019-12-25T08:30:23.7521580Z == end clock drift check ==
2019-12-25T08:30:23.7560740Z 
2019-12-25T08:30:23.7666020Z ##[error]Bash exited with code '1'.
2019-12-25T08:30:23.7724030Z ##[section]Starting: Checkout
2019-12-25T08:30:23.7726710Z ==============================================================================
2019-12-25T08:30:23.7726820Z Task         : Get sources
2019-12-25T08:30:23.7726890Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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 25, 2019

💔 Test failed - checks-azure

@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 Dec 25, 2019
@estebank
Copy link
Contributor Author

@bors r=oli-obk fixed the last bit of non-determinism I could see

@bors
Copy link
Contributor

bors commented Dec 25, 2019

📌 Commit 621d7e9 has been approved by oli-obk

@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 Dec 25, 2019
@bors
Copy link
Contributor

bors commented Dec 25, 2019

⌛ Testing commit 621d7e9 with merge ba2a07a8f0785e26e0de57f352f5bdc3f18b8ccd...

@rust-highfive
Copy link
Collaborator

The job x86_64-msvc-cargo of your PR failed (pretty log, 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.

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 25, 2019

💔 Test failed - checks-azure

@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 Dec 25, 2019
@estebank
Copy link
Contributor Author

@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 Dec 26, 2019
@bors
Copy link
Contributor

bors commented Dec 26, 2019

⌛ Testing commit 621d7e9 with merge c0b16b4...

bors added a commit that referenced this pull request Dec 26, 2019
Tweak errors for missing associated types and type parameters

* On `dyn Trait` missing associated types, provide a structured suggestion for them
* On missing type parameters, provide structured suggestion for them
* Point at trait definition when missing required type parameter
* Tweak output of E0658
* Tweak wording of E0719
* Account for `Trait1 + Trait2` case

Fix #66380, fix #60595. CC #63711.
@bors
Copy link
Contributor

bors commented Dec 26, 2019

☀️ Test successful - checks-azure
Approved by: oli-obk
Pushing c0b16b4 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Dec 26, 2019
@bors bors merged commit 621d7e9 into rust-lang:master Dec 26, 2019
@estebank estebank deleted the assoc-types branch November 9, 2023 05:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. 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.

Confusing error message for missing associated type Improve diagnostics for missing associated types
8 participants