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

Warn on bare_trait_objects by default #61203

Merged
merged 6 commits into from May 30, 2019

Conversation

@memoryruins
Copy link
Contributor

commented May 26, 2019

The bare_trait_objects lint is set to warn by default.
Most ui tests have been updated to use dyn to avoid creating noise in stderr files.

r? @Centril

cc #54910

@rust-highfive

This comment was marked as resolved.

Copy link
Collaborator

commented May 26, 2019

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:0861ca65:start=1558838741118634141,finish=1558838743462634679,duration=2344000538
$ 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
$ export GCP_CACHE_BUCKET=rust-lang-ci-cache
$ export AWS_ACCESS_KEY_ID=AKIA46X5W6CZEJZ6XT55
---
[01:12:21] ..................i................................................................................. 3400/5586
[01:12:25] ............................................................................................ii...i.. 3500/5586
[01:12:28] ii.................................................................................................. 3600/5586
[01:12:32] .................................................................................................... 3700/5586
[01:12:36] ...........F.....................................................................................ii. 3800/5586
[01:12:41] ..................i................................................................................. 4000/5586
[01:12:43] ..................................................................................i................. 4100/5586
[01:12:46] .................................................................................................... 4200/5586
[01:12:51] .................................................................................................... 4300/5586
---
[01:13:48] 
[01:13:48] 154                T,
[01:13:48] 155            ]
[01:13:48] 156 
[01:13:48] - error: failed to remove $TEST_BUILD_DIR/nll/ty-outlives/projection-one-region-trait-bound-static-closure/projection-one-region-trait-bound-static-closure.projection_one_region_trait_bound_static_closure.7rcbfp3g-cgu.0.rcgu.o: The system cannot find the path specified. (os error 3)
[01:13:48] - 
[01:13:48] - error: failed to remove $TEST_BUILD_DIR/nll/ty-outlives/projection-one-region-trait-bound-static-closure/projection-one-region-trait-bound-static-closure.projection_one_region_trait_bound_static_closure.7rcbfp3g-cgu.1.rcgu.o: The system cannot find the path specified. (os error 3)
[01:13:48] - error: aborting due to 2 previous errors
[01:13:48] - 
[01:13:48] 163 
[01:13:48] 
[01:13:48] 
[01:13:48] 
[01:13:48] The actual stderr differed from the expected stderr.
[01:13:48] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/nll/ty-outlives/projection-one-region-trait-bound-static-closure/projection-one-region-trait-bound-static-closure.stderr
[01:13:48] To update references, rerun the tests and pass the `--bless` flag
[01:13:48] To only update this specific test, also pass `--test-args nll/ty-outlives/projection-one-region-trait-bound-static-closure.rs`
[01:13:48] error: 1 errors occurred comparing output.
[01:13:48] status: exit code: 0
[01:13:48] status: exit code: 0
[01:13:48] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-static-closure.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/nll/ty-outlives/projection-one-region-trait-bound-static-closure" "-Crpath" "-O" "-Cdebuginfo=0" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-Zborrowck=mir" "-Zverbose" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/nll/ty-outlives/projection-one-region-trait-bound-static-closure/auxiliary" "-A" "unused"
[01:13:48] ------------------------------------------
[01:13:48] 
[01:13:48] ------------------------------------------
[01:13:48] stderr:
[01:13:48] stderr:
[01:13:48] ------------------------------------------
[01:13:48] note: No external requirements
[01:13:48]   --> /checkout/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-static-closure.rs:36:29
[01:13:48]    |
[01:13:48] LL |     with_signature(cell, t, |cell, t| require(cell, t));
[01:13:48]    |
[01:13:48]    |
[01:13:48]    = note: defining type: DefId(0:28 ~ projection_one_region_trait_bound_static_closure[317d]::no_relationships_late[0]::{{closure}}[0]) with closure substs [
[01:13:48]                '_#1r,
[01:13:48]                T,
[01:13:48]                i32,
[01:13:48]                extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)),
[01:13:48]            ]
[01:13:48]    = note: late-bound region is '_#3r
[01:13:48] note: No external requirements
[01:13:48]   --> /checkout/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-static-closure.rs:32:1
[01:13:48]    |
[01:13:48]    |
[01:13:48] LL | / fn no_relationships_late<'a, 'b, T>(cell: Cell<&'a ()>, t: T)
[01:13:48] LL | | where
[01:13:48] LL | |     T: Anything<'b>,
[01:13:48] LL | | {
[01:13:48] LL | |     with_signature(cell, t, |cell, t| require(cell, t));
[01:13:48]    | |_^
[01:13:48]    |
[01:13:48]    |
[01:13:48]    = note: defining type: DefId(0:24 ~ projection_one_region_trait_bound_static_closure[317d]::no_relationships_late[0]) with substs [
[01:13:48]                '_#1r,
[01:13:48]                T,
[01:13:48] 
[01:13:48] note: No external requirements
[01:13:48]   --> /checkout/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-static-closure.rs:45:29
[01:13:48]    |
[01:13:48]    |
[01:13:48] LL |     with_signature(cell, t, |cell, t| require(cell, t));
[01:13:48]    |
[01:13:48]    |
[01:13:48]    = note: defining type: DefId(0:33 ~ projection_one_region_trait_bound_static_closure[317d]::no_relationships_early[0]::{{closure}}[0]) with closure substs [
[01:13:48]                '_#1r,
[01:13:48]                '_#2r,
[01:13:48]                T,
[01:13:48]                i32,
[01:13:48]                extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
[01:13:48] 
[01:13:48] note: No external requirements
[01:13:48]   --> /checkout/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-static-closure.rs:40:1
[01:13:48]    |
[01:13:48]    |
[01:13:48] LL | / fn no_relationships_early<'a, 'b, T>(cell: Cell<&'a ()>, t: T)
[01:13:48] LL | | where
[01:13:48] LL | |     T: Anything<'b>,
[01:13:48] LL | |     'a: 'a,
[01:13:48] LL | | {
[01:13:48] LL | |     with_signature(cell, t, |cell, t| require(cell, t));
[01:13:48]    | |_^
[01:13:48]    |
[01:13:48]    |
[01:13:48]    = note: defining type: DefId(0:29 ~ projection_one_region_trait_bound_static_closure[317d]::no_relationships_early[0]) with substs [
[01:13:48]                '_#1r,
[01:13:48]                '_#2r,
[01:13:48]                T,
[01:13:48] 
[01:13:48] note: No external requirements
[01:13:48]   --> /checkout/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-static-closure.rs:64:29
[01:13:48]    |
[01:13:48]    |
[01:13:48] LL |     with_signature(cell, t, |cell, t| require(cell, t));
[01:13:48]    |
[01:13:48]    |
[01:13:48]    = note: defining type: DefId(0:38 ~ projection_one_region_trait_bound_static_closure[317d]::projection_outlives[0]::{{closure}}[0]) with closure substs [
[01:13:48]                '_#1r,
[01:13:48]                '_#2r,
[01:13:48]                T,
[01:13:48]                i32,
[01:13:48]                extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
[01:13:48] 
[01:13:48] note: No external requirements
[01:13:48]   --> /checkout/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-static-closure.rs:49:1
[01:13:48]    |
[01:13:48]    |
[01:13:48] LL | / fn projection_outlives<'a, 'b, T>(cell: Cell<&'a ()>, t: T)
[01:13:48] LL | | where
[01:13:48] LL | |     T: Anything<'b>,
[01:13:48] LL | |     T::AssocType: 'a,
[01:13:48] ...  |
[01:13:48] LL | |     with_signature(cell, t, |cell, t| require(cell, t));
[01:13:48]    | |_^
[01:13:48]    |
[01:13:48]    |
[01:13:48]    = note: defining type: DefId(0:34 ~ projection_one_region_trait_bound_static_closure[317d]::projection_outlives[0]) with substs [
[01:13:48]                '_#1r,
[01:13:48]                '_#2r,
[01:13:48]                T,
[01:13:48] 
[01:13:48] note: No external requirements
[01:13:48]   --> /checkout/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-static-closure.rs:73:29
[01:13:48]    |
[01:13:48]    |
[01:13:48] LL |     with_signature(cell, t, |cell, t| require(cell, t));
[01:13:48]    |
[01:13:48]    |
[01:13:48]    = note: defining type: DefId(0:43 ~ projection_one_region_trait_bound_static_closure[317d]::elements_outlive[0]::{{closure}}[0]) with closure substs [
[01:13:48]                '_#1r,
[01:13:48]                '_#2r,
[01:13:48]                T,
[01:13:48]                i32,
[01:13:48]                extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
[01:13:48] 
[01:13:48] note: No external requirements
[01:13:48]   --> /checkout/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-static-closure.rs:68:1
[01:13:48]    |
[01:13:48]    |
[01:13:48] LL | / fn elements_outlive<'a, 'b, T>(cell: Cell<&'a ()>, t: T)
[01:13:48] LL | | where
[01:13:48] LL | |     T: Anything<'b>,
[01:13:48] LL | |     'b: 'a,
[01:13:48] LL | | {
[01:13:48] LL | |     with_signature(cell, t, |cell, t| require(cell, t));
[01:13:48]    | |_^
[01:13:48]    |
[01:13:48]    |
[01:13:48]    = note: defining type: DefId(0:39 ~ projection_one_region_trait_bound_static_closure[317d]::elements_outlive[0]) with substs [
[01:13:48]                '_#1r,
[01:13:48]                '_#2r,
[01:13:48]                T,
[01:13:48] 
[01:13:48] note: No external requirements
[01:13:48]   --> /checkout/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-static-closure.rs:85:29
[01:13:48]    |
[01:13:48]    |
[01:13:48] LL |     with_signature(cell, t, |cell, t| require(cell, t));
[01:13:48]    |
[01:13:48]    |
[01:13:48]    = note: defining type: DefId(0:47 ~ projection_one_region_trait_bound_static_closure[317d]::one_region[0]::{{closure}}[0]) with closure substs [
[01:13:48]                '_#1r,
[01:13:48]                T,
[01:13:48]                i32,
[01:13:48]                extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)),
[01:13:48] 
[01:13:48] note: No external requirements
[01:13:48]   --> /checkout/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-static-closure.rs:77:1
[01:13:48]    |
[01:13:48]    |
[01:13:48] LL | / fn one_region<'a, T>(cell: Cell<&'a ()>, t: T)
[01:13:48] LL | | where
[01:13:48] LL | |     T: Anything<'a>,
[01:13:48] LL | | {
[01:13:48] ...  |
[01:13:48] LL | |     with_signature(cell, t, |cell, t| require(cell, t));
[01:13:48]    | |_^
[01:13:48]    |
[01:13:48]    |
[01:13:48]    = note: defining type: DefId(0:44 ~ projection_one_region_trait_bound_static_closure[317d]::one_region[0]) with substs [
[01:13:48]                '_#1r,
[01:13:48]                T,
[01:13:48] 
[01:13:48] 
[01:13:48] ------------------------------------------
[01:13:48] 
---
[01:13:48] thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:521:22
[01:13:48] note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
[01:13:48] 
[01:13:48] 
[01:13:48] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-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 -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -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:13:48] 
[01:13:48] 
[01:13:48] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:13:48] Build completed unsuccessfully in 0:04:50
[01:13:48] Build completed unsuccessfully in 0:04:50
[01:13:48] make: *** [check] Error 1
[01:13:48] Makefile:48: recipe for target 'check' failed
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:039f6bb8
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Sun May 26 03:59:42 UTC 2019

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)

@memoryruins memoryruins force-pushed the memoryruins:bare_trait_objects branch 2 times, most recently from 2dc7a7a to 9eb7ad3 May 26, 2019

@rust-highfive

This comment was marked as resolved.

Copy link
Collaborator

commented May 26, 2019

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:109c13ee:start=1558845392245305101,finish=1558845394474211229,duration=2228906128
$ 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
$ export GCP_CACHE_BUCKET=rust-lang-ci-cache
$ export AWS_ACCESS_KEY_ID=AKIA46X5W6CZEJZ6XT55
---
travis_time:start:test_run-pass
Check compiletest suite=run-pass mode=run-pass (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:16:30] 
[01:16:30] running 2922 tests
[01:16:42] .....F.............................................................................................. 100/2922
[01:16:55] .........F.F......................F......................................F...i...................... 200/2922
[01:17:04] .................................................................................................... 300/2922
[01:17:15] ....................F.............................F........F.............................F...F..F... 400/2922
[01:17:25] .................................................................................................... 500/2922
[01:17:37] .....F.............................................................................................. 600/2922
[01:17:52] ....F.................F............F.F.F.FF..F..FF.................................................. 700/2922
[01:18:04] .................................F.......F.......................................................... 800/2922
[01:18:13] ...........F....................................................................F...............FFF. 900/2922
[01:18:27] .F.FFFF......F........................F............................................................. 1000/2922
[01:18:39] ........F.....F....F.....F.F...........F.............F..F........F....FF..FF.......F..............F. 1100/2922
[01:18:49] ...................F....F.......F..F......F...F....................................F...........F..F. 1200/2922
[01:18:59] ..FF..F.....F....F....F..........F.....F......F..................FF........................F...F..F. 1300/2922
[01:19:12] ..F..........FFF..Fii..F....F..F...F....F.....................F.........................F.FF........ 1400/2922
[01:19:24] .......F..........FF..........F.............F.....F.........F....F........F................F........ 1500/2922
[01:19:34] .....F......F.........F.......F......F.....F..........................Fi.......i...........F........ 1600/2922
[01:19:48] .F..........................FF........F...FF.F...........F.....FFF..................F....F........F. 1700/2922
[01:20:02] ...................F...................................F............................................ 1800/2922
[01:20:13] .............................F....F...................................F..F....F............F........ 1900/2922
[01:20:28] ..i.........................................F....FF.......................i......................... 2000/2922
[01:20:54] ....................FFFFFFFF.......................FFF....................................F........F 2100/2922
[01:21:14] ................................................................Ftest [run-pass] run-pass/mpsc_stress.rs has been running for over 60 seconds
[01:21:18] .................FF.F.F........F... 2200/2922
[01:21:29] FF.........F...F...........F.....F.F................................................................ 2300/2922
[01:21:49] ........ii..............................................................F.......FFF............F.... 2400/2922
[01:22:00] ......................F.........................F.F................................................. 2500/2922
[01:22:34] ........................................................................................F....F..F... 2600/2922
[01:22:44] FFF.....F..F...F..F.....F.F..F......FF.........................FFFFF.............F.....F...FF..F.... 2700/2922
[01:22:55] ............FF.F.................F.FF....FF....F.....F........FF...FF....F.......................... 2800/2922
[01:23:08] ........................................F.......................F...........................F....... 2900/2922
[01:23:12] failures:
[01:23:12] 
[01:23:12] ---- [run-pass] run-pass/alignment-gep-tup-like-1.rs stdout ----
[01:23:12] normalized stderr:
[01:23:12] normalized stderr:
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL | fn f<A:Clone + 'static>(a: A, b: u16) -> Box<Invokable<A>+'static> {
[01:23:12]    |                                              ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Invokable<A>+'static`
[01:23:12]    |
[01:23:12]    = note: #[warn(bare_trait_objects)] on by default
[01:23:12] 
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |     } as (Box<Invokable<A>+'static>)
[01:23:12]    |               ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Invokable<A>+'static`
[01:23:12] 
[01:23:12] 
[01:23:12] 
[01:23:12] The actual stderr differed from the expected stderr.
[01:23:12] The actual stderr differed from the expected stderr.
[01:23:12] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/alignment-gep-tup-like-1/alignment-gep-tup-like-1.stderr
[01:23:12] To update references, rerun the tests and pass the `--bless` flag
[01:23:12] To only update this specific test, also pass `--test-args alignment-gep-tup-like-1.rs`
[01:23:12] error: 1 errors occurred comparing output.
[01:23:12] status: exit code: 0
[01:23:12] status: exit code: 0
[01:23:12] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/run-pass/alignment-gep-tup-like-1.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/alignment-gep-tup-like-1/a" "-Crpath" "-O" "-Cdebuginfo=0" "-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/run-pass/alignment-gep-tup-like-1/auxiliary"
[01:23:12] ------------------------------------------
[01:23:12] 
[01:23:12] ------------------------------------------
[01:23:12] stderr:
[01:23:12] stderr:
[01:23:12] ------------------------------------------
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL | fn f<A:Clone + 'static>(a: A, b: u16) -> Box<Invokable<A>+'static> {
[01:23:12]    |                                              ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Invokable<A>+'static`
[01:23:12]    |
[01:23:12]    = note: #[warn(bare_trait_objects)] on by default
[01:23:12] 
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |     } as (Box<Invokable<A>+'static>)
[01:23:12]    |               ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Invokable<A>+'static`
[01:23:12] 
[01:23:12] ------------------------------------------
[01:23:12] 
[01:23:12] 
[01:23:12] 
[01:23:12] ---- [run-pass] run-pass/associated-types/associated-types-doubleendediterator-object.rs stdout ----
[01:23:12] normalized stderr:
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL | fn pairwise_sub(mut t: Box<DoubleEndedIterator<Item=isize>>) -> isize {
[01:23:12]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DoubleEndedIterator<Item=isize>`
[01:23:12]    |
[01:23:12]    = note: #[warn(bare_trait_objects)] on by default
[01:23:12] 
[01:23:12] 
[01:23:12] 
[01:23:12] The actual stderr differed from the expected stderr.
[01:23:12] The actual stderr differed from the expected stderr.
[01:23:12] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/associated-types/associated-types-doubleendediterator-object/associated-types-doubleendediterator-object.stderr
[01:23:12] To update references, rerun the tests and pass the `--bless` flag
[01:23:12] To only update this specific test, also pass `--test-args associated-types/associated-types-doubleendediterator-object.rs`
[01:23:12] error: 1 errors occurred comparing output.
[01:23:12] status: exit code: 0
[01:23:12] status: exit code: 0
[01:23:12] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/run-pass/associated-types/associated-types-doubleendediterator-object.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/associated-types/associated-types-doubleendediterator-object/a" "-Crpath" "-O" "-Cdebuginfo=0" "-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/run-pass/associated-types/associated-types-doubleendediterator-object/auxiliary"
[01:23:12] ------------------------------------------
[01:23:12] 
[01:23:12] ------------------------------------------
[01:23:12] stderr:
[01:23:12] stderr:
[01:23:12] ------------------------------------------
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL | fn pairwise_sub(mut t: Box<DoubleEndedIterator<Item=isize>>) -> isize {
[01:23:12]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DoubleEndedIterator<Item=isize>`
[01:23:12]    |
[01:23:12]    = note: #[warn(bare_trait_objects)] on by default
[01:23:12] 
[01:23:12] ------------------------------------------
[01:23:12] 
[01:23:12] 
[01:23:12] 
[01:23:12] ---- [run-pass] run-pass/associated-types/associated-types-eq-obj.rs stdout ----
[01:23:12] normalized stderr:
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]   --> $DIR/associated-types-eq-obj.rs:18:12
[01:23:12]    |
[01:23:12] LL | fn baz(x: &Foo<A=Bar>) -> Bar {
[01:23:12]    |            ^^^^^^^^^^ help: use `dyn`: `dyn Foo<A=Bar>`
[01:23:12]    |
[01:23:12]    = note: #[warn(bare_trait_objects)] on by default
[01:23:12] 
[01:23:12] 
[01:23:12] 
[01:23:12] The actual stderr differed from the expected stderr.
[01:23:12] The actual stderr differed from the expected stderr.
[01:23:12] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/associated-types/associated-types-eq-obj/associated-types-eq-obj.stderr
[01:23:12] To update references, rerun the tests and pass the `--bless` flag
[01:23:12] To only update this specific test, also pass `--test-args associated-types/associated-types-eq-obj.rs`
[01:23:12] error: 1 errors occurred comparing output.
[01:23:12] status: exit code: 0
[01:23:12] status: exit code: 0
[01:23:12] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/run-pass/associated-types/associated-types-eq-obj.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/associated-types/associated-types-eq-obj/a" "-Crpath" "-O" "-Cdebuginfo=0" "-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/run-pass/associated-types/associated-types-eq-obj/auxiliary"
[01:23:12] ------------------------------------------
[01:23:12] 
[01:23:12] ------------------------------------------
[01:23:12] stderr:
[01:23:12] stderr:
[01:23:12] ------------------------------------------
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]   --> /checkout/src/test/run-pass/associated-types/associated-types-eq-obj.rs:18:12
[01:23:12]    |
[01:23:12] LL | fn baz(x: &Foo<A=Bar>) -> Bar {
[01:23:12]    |            ^^^^^^^^^^ help: use `dyn`: `dyn Foo<A=Bar>`
[01:23:12]    |
[01:23:12]    = note: #[warn(bare_trait_objects)] on by default
[01:23:12] 
[01:23:12] ------------------------------------------
[01:23:12] 
[01:23:12] 
[01:23:12] 
[01:23:12] ---- [run-pass] run-pass/associated-types/associated-types-projection-in-object-type.rs stdout ----
[01:23:12] normalized stderr:
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |     fn subscribe(&mut self, _: Box<Subscriber<Input=Self::Output> + 'a>);
[01:23:12]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Subscriber<Input=Self::Output> + 'a`
[01:23:12]    |
[01:23:12]    = note: #[warn(bare_trait_objects)] on by default
[01:23:12] 
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |     sub: Box<Subscriber<Input=u64> + 'a>
[01:23:12]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Subscriber<Input=u64> + 'a`
[01:23:12] 
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |     fn subscribe(&mut self, t : Box<Subscriber<Input=u64> + 'a>) {
[01:23:12]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Subscriber<Input=u64> + 'a`
[01:23:12] 
[01:23:12] 
[01:23:12] 
[01:23:12] The actual stderr differed from the expected stderr.
[01:23:12] The actual stderr differed from the expected stderr.
[01:23:12] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/associated-types/associated-types-projection-in-object-type/associated-types-projection-in-object-type.stderr
[01:23:12] To update references, rerun the tests and pass the `--bless` flag
[01:23:12] To only update this specific test, also pass `--test-args associated-types/associated-types-projection-in-object-type.rs`
[01:23:12] error: 1 errors occurred comparing output.
[01:23:12] status: exit code: 0
[01:23:12] status: exit code: 0
[01:23:12] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/run-pass/associated-types/associated-types-projection-in-object-type.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/associated-types/associated-types-projection-in-object-type/a" "-Crpath" "-O" "-Cdebuginfo=0" "-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/run-pass/associated-types/associated-types-projection-in-object-type/auxiliary"
[01:23:12] ------------------------------------------
[01:23:12] 
[01:23:12] ------------------------------------------
[01:23:12] stderr:
[01:23:12] stderr:
[01:23:12] ------------------------------------------
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |     fn subscribe(&mut self, _: Box<Subscriber<Input=Self::Output> + 'a>);
[01:23:12]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Subscriber<Input=Self::Output> + 'a`
[01:23:12]    |
[01:23:12]    = note: #[warn(bare_trait_objects)] on by default
[01:23:12] 
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |     sub: Box<Subscriber<Input=u64> + 'a>
[01:23:12]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Subscriber<Input=u64> + 'a`
[01:23:12] 
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |     fn subscribe(&mut self, t : Box<Subscriber<Input=u64> + 'a>) {
[01:23:12]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Subscriber<Input=u64> + 'a`
[01:23:12] 
[01:23:12] ------------------------------------------
[01:23:12] 
[01:23:12] 
[01:23:12] 
[01:23:12] ---- [run-pass] run-pass/autoref-autoderef/autoderef-method-on-trait.rs stdout ----
[01:23:12] normalized stderr:
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |     let x: Box<_> = box (box 3usize as Box<double>);
[01:23:12]    |                                            ^^^^^^ help: use `dyn`: `dyn double`
[01:23:12]    |
[01:23:12]    = note: #[warn(bare_trait_objects)] on by default
[01:23:12] 
[01:23:12] 
[01:23:12] 
[01:23:12] The actual stderr differed from the expected stderr.
[01:23:12] The actual stderr differed from the expected stderr.
[01:23:12] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/autoref-autoderef/autoderef-method-on-trait/autoderef-method-on-trait.stderr
[01:23:12] To update references, rerun the tests and pass the `--bless` flag
[01:23:12] To only update this specific test, also pass `--test-args autoref-autoderef/autoderef-method-on-trait.rs`
[01:23:12] error: 1 errors occurred comparing output.
[01:23:12] status: exit code: 0
[01:23:12] status: exit code: 0
[01:23:12] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/run-pass/autoref-autoderef/autoderef-method-on-trait.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/autoref-autoderef/autoderef-method-on-trait/a" "-Crpath" "-O" "-Cdebuginfo=0" "-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/run-pass/autoref-autoderef/autoderef-method-on-trait/auxiliary"
[01:23:12] ------------------------------------------
[01:23:12] 
[01:23:12] ------------------------------------------
[01:23:12] stderr:
[01:23:12] stderr:
[01:23:12] ------------------------------------------
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |     let x: Box<_> = box (box 3usize as Box<double>);
[01:23:12]    |                                            ^^^^^^ help: use `dyn`: `dyn double`
[01:23:12]    |
[01:23:12]    = note: #[warn(bare_trait_objects)] on by default
[01:23:12] 
[01:23:12] ------------------------------------------
[01:23:12] 
[01:23:12] 
[01:23:12] 
[01:23:12] ---- [run-pass] run-pass/borrowck/borrowck-trait-lifetime.rs stdout ----
[01:23:12] normalized stderr:
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |     fn f<'a, V: T>(v: &'a V) -> &'a T {
[01:23:12]    |                                     ^ help: use `dyn`: `dyn T`
[01:23:12]    |
[01:23:12]    = note: #[warn(bare_trait_objects)] on by default
[01:23:12] 
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |         v as &'a T
[01:23:12]    |                  ^ help: use `dyn`: `dyn T`
[01:23:12] 
[01:23:12] 
[01:23:12] 
[01:23:12] The actual stderr differed from the expected stderr.
[01:23:12] The actual stderr differed from the expected stderr.
[01:23:12] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/borrowck/borrowck-trait-lifetime/borrowck-trait-lifetime.stderr
[01:23:12] To update references, rerun the tests and pass the `--bless` flag
[01:23:12] To only update this specific test, also pass `--test-args borrowck/borrowck-trait-lifetime.rs`
[01:23:12] error: 1 errors occurred comparing output.
[01:23:12] status: exit code: 0
[01:23:12] status: exit code: 0
[01:23:12] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/run-pass/borrowck/borrowck-trait-lifetime.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/borrowck/borrowck-trait-lifetime/a" "-Crpath" "-O" "-Cdebuginfo=0" "-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/run-pass/borrowck/borrowck-trait-lifetime/auxiliary"
[01:23:12] ------------------------------------------
[01:23:12] 
[01:23:12] ------------------------------------------
[01:23:12] stderr:
[01:23:12] stderr:
[01:23:12] ------------------------------------------
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |     fn f<'a, V: T>(v: &'a V) -> &'a T {
[01:23:12]    |                                     ^ help: use `dyn`: `dyn T`
[01:23:12]    |
[01:23:12]    = note: #[warn(bare_trait_objects)] on by default
[01:23:12] 
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |         v as &'a T
[01:23:12]    |                  ^ help: use `dyn`: `dyn T`
[01:23:12] 
[01:23:12] ------------------------------------------
[01:23:12] 
[01:23:12] 
[01:23:12] 
[01:23:12] ---- [run-pass] run-pass/cast-rfc0401-vtable-kinds.rs stdout ----
[01:23:12] normalized stderr:
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL | unsafe fn round_trip_and_call<'a>(t: *const (Foo<u32>+'a)) -> u32 {
[01:23:12]    |                                              ^^^^^^^^^^^ help: use `dyn`: `dyn Foo<u32>+'a`
[01:23:12]    |
[01:23:12]    = note: #[warn(bare_trait_objects)] on by default
[01:23:12] 
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |     let foo_e : *const Foo<u16> = t as *const _;
[01:23:12]    |                        ^^^^^^^^ help: use `dyn`: `dyn Foo<u16>`
[01:23:12] 
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |     let r_1 = foo_e as *mut Foo<u32>;
[01:23:12]    |                             ^^^^^^^^ help: use `dyn`: `dyn Foo<u32>`
[01:23:12] 
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |     let y : &Foo<u32> = &x;
[01:23:12]    |              ^^^^^^^^ help: use `dyn`: `dyn Foo<u32>`
[01:23:12] 
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |     let fl = unsafe { round_trip_and_call(y as *const Foo<u32>) };
[01:23:12]    |                                                       ^^^^^^^^ help: use `dyn`: `dyn Foo<u32>`
[01:23:12] 
[01:23:12] 
[01:23:12] 
[01:23:12] The actual stderr differed from the expected stderr.
[01:23:12] The actual stderr differed from the expected stderr.
[01:23:12] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/cast-rfc0401-vtable-kinds/cast-rfc0401-vtable-kinds.stderr
[01:23:12] To update references, rerun the tests and pass the `--bless` flag
[01:23:12] To only update this specific test, also pass `--test-args cast-rfc0401-vtable-kinds.rs`
[01:23:12] error: 1 errors occurred comparing output.
[01:23:12] status: exit code: 0
[01:23:12] status: exit code: 0
[01:23:12] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/run-pass/cast-rfc0401-vtable-kinds.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/cast-rfc0401-vtable-kinds/a" "-Crpath" "-O" "-Cdebuginfo=0" "-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/run-pass/cast-rfc0401-vtable-kinds/auxiliary"
[01:23:12] ------------------------------------------
[01:23:12] 
[01:23:12] ------------------------------------------
[01:23:12] stderr:
[01:23:12] stderr:
[01:23:12] ------------------------------------------
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL | unsafe fn round_trip_and_call<'a>(t: *const (Foo<u32>+'a)) -> u32 {
[01:23:12]    |                                              ^^^^^^^^^^^ help: use `dyn`: `dyn Foo<u32>+'a`
[01:23:12]    |
[01:23:12]    = note: #[warn(bare_trait_objects)] on by default
[01:23:12] 
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |     let foo_e : *const Foo<u16> = t as *const _;
[01:23:12]    |                        ^^^^^^^^ help: use `dyn`: `dyn Foo<u16>`
[01:23:12] 
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |     let r_1 = foo_e as *mut Foo<u32>;
[01:23:12]    |                             ^^^^^^^^ help: use `dyn`: `dyn Foo<u32>`
[01:23:12] 
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |     let y : &Foo<u32> = &x;
[01:23:12]    |              ^^^^^^^^ help: use `dyn`: `dyn Foo<u32>`
[01:23:12] 
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |     let fl = unsafe { round_trip_and_call(y as *const Foo<u32>) };
[01:23:12]    |                                                       ^^^^^^^^ help: use `dyn`: `dyn Foo<u32>`
[01:23:12] 
[01:23:12] ------------------------------------------
[01:23:12] 
[01:23:12] 
[01:23:12] 
[01:23:12] ---- [run-pass] run-pass/cast-rfc0401.rs stdout ----
[01:23:12] normalized stderr:
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |     assert_eq!((itr as &mut Iterator<Item=u32>).next(), Some(137));
[01:23:12]    |                             ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator<Item=u32>`
[01:23:12]    |
[01:23:12]    = note: #[warn(bare_trait_objects)] on by default
[01:23:12] 
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |     assert_eq!((itr as &mut Iterator<Item=u32>).next(), None);
[01:23:12]    |                             ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator<Item=u32>`
[01:23:12] 
[01:23:12] 
[01:23:12] 
[01:23:12] The actual stderr differed from the expected stderr.
[01:23:12] The actual stderr differed from the expected stderr.
[01:23:12] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/cast-rfc0401/cast-rfc0401.stderr
[01:23:12] To update references, rerun the tests and pass the `--bless` flag
[01:23:12] To only update this specific test, also pass `--test-args cast-rfc0401.rs`
[01:23:12] error: 1 errors occurred comparing output.
[01:23:12] status: exit code: 0
[01:23:12] status: exit code: 0
[01:23:12] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/run-pass/cast-rfc0401.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/cast-rfc0401/a" "-Crpath" "-O" "-Cdebuginfo=0" "-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/run-pass/cast-rfc0401/auxiliary"
[01:23:12] ------------------------------------------
[01:23:12] 
[01:23:12] ------------------------------------------
[01:23:12] stderr:
[01:23:12] stderr:
[01:23:12] ------------------------------------------
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |     assert_eq!((itr as &mut Iterator<Item=u32>).next(), Some(137));
[01:23:12]    |                             ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator<Item=u32>`
[01:23:12]    |
[01:23:12]    = note: #[warn(bare_trait_objects)] on by default
[01:23:12] 
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |     assert_eq!((itr as &mut Iterator<Item=u32>).next(), None);
[01:23:12]    |                             ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator<Item=u32>`
[01:23:12] 
[01:23:12] ------------------------------------------
[01:23:12] 
[01:23:12] 
[01:23:12] 
[01:23:12] ---- [run-pass] run-pass/close-over-big-then-small-data.rs stdout ----
[01:23:12] normalized stderr:
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL | fn f<A:Clone + 'static>(a: A, b: u16) -> Box<Invokable<A>+'static> {
[01:23:12]    |                                              ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Invokable<A>+'static`
[01:23:12]    |
[01:23:12]    = note: #[warn(bare_trait_objects)] on by default
[01:23:12] 
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL |     } as (Box<Invokable<A>+'static>)
[01:23:12]    |               ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Invokable<A>+'static`
[01:23:12] 
[01:23:12] 
[01:23:12] 
[01:23:12] The actual stderr differed from the expected stderr.
[01:23:12] The actual stderr differed from the expected stderr.
[01:23:12] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/close-over-big-then-small-data/close-over-big-then-small-data.stderr
[01:23:12] To update references, rerun the tests and pass the `--bless` flag
[01:23:12] To only update this specific test, also pass `--test-args close-over-big-then-small-data.rs`
[01:23:12] error: 1 errors occurred comparing output.
[01:23:12] status: exit code: 0
[01:23:12] status: exit code: 0
[01:23:12] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/run-pass/close-over-big-then-small-data.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/close-over-big-then-small-data/a" "-Crpath" "-O" "-Cdebuginfo=0" "-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/run-pass/close-over-big-then-small-data/auxiliary"
[01:23:12] ------------------------------------------
[01:23:12] 
[01:23:12] ------------------------------------------
[01:23:12] stderr:
[01:23:12] stderr:
[01:23:12] ------------------------------------------
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
[01:23:12]    |
[01:23:12] LL | fn f<A:Clone + 'static>(a: A, b: u16) -> Box<Invokable<A>+'static> {
[01:23:12]    |                                              ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Invokable<A>+'static`
[01:23:12]    |
[01:23:12]    = note: #[warn(bare_trait_objects)] on by default
[01:23:12] 
[01:23:12] warning: trait objects without an explicit `dyn` are deprecated
[01:23:12]    |
---
[01:23:12] test result: FAILED. 2705 passed; 208 failed; 9 ignored; 0 measured; 0 filtered out
[01:23:12] 
[01:23:12] 
[01:23:12] 
[01:23:12] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-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/run-pass" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "run-pass" "--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 -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -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:23:12] 
[01:23:12] 
[01:23:12] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:23:12] Build completed unsuccessfully in 0:11:43

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)

@memoryruins

This comment has been minimized.

Copy link
Contributor Author

commented May 26, 2019

and now for level 2: updating run-pass suite.

@rust-highfive

This comment was marked as resolved.

Copy link
Collaborator

commented May 26, 2019

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:0f92f179:start=1558866235610770029,finish=1558866324621797828,duration=89011027799
$ 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
$ export GCP_CACHE_BUCKET=rust-lang-ci-cache
$ export AWS_ACCESS_KEY_ID=AKIA46X5W6CZEJZ6XT55
---
[01:12:34] .................................................................................................... 2700/5589
[01:12:39] .................................................................................................... 2800/5589
[01:12:43] .................................................................................................... 2900/5589
[01:12:47] .................................................................................................... 3000/5589
[01:12:51] ..............F..................................................................................... 3100/5589
[01:12:58] .................................................................................................... 3300/5589
[01:13:02] ....................i............................................................................... 3400/5589
[01:13:05] ..............................................................................................ii...i 3500/5589
[01:13:09] ..ii................................................................................................ 3600/5589
---
[01:14:31] 
[01:14:31] ---- [ui] ui/issues/issue-60989.rs stdout ----
[01:14:31] diff of stderr:
[01:14:31] 
[01:14:31] + warning: trait objects without an explicit `dyn` are deprecated
[01:14:31] +    |
[01:14:31] +    |
[01:14:31] + LL |     c1::<Into<B>>;
[01:14:31] +    |          ^^^^^^^ help: use `dyn`: `dyn Into<B>`
[01:14:31] +    |
[01:14:31] +    = note: #[warn(bare_trait_objects)] on by default
[01:14:31] 1 error[E0109]: type arguments are not allowed for this type
[01:14:31] 2   --> $DIR/issue-60989.rs:12:10
[01:14:31] 3    |
[01:14:31] 
[01:14:31] 
[01:14:31] 
[01:14:31] The actual stderr differed from the expected stderr.
[01:14:31] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-60989/issue-60989.stderr
[01:14:31] To update references, rerun the tests and pass the `--bless` flag
[01:14:31] To only update this specific test, also pass `--test-args issues/issue-60989.rs`
[01:14:31] error: 1 errors occurred comparing output.
[01:14:31] status: exit code: 1
[01:14:31] status: exit code: 1
[01:14:31] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/issues/issue-60989.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-60989" "-Crpath" "-O" "-Cdebuginfo=0" "-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-60989/auxiliary" "-A" "unused"
[01:14:31] ------------------------------------------
[01:14:31] 
[01:14:31] ------------------------------------------
[01:14:31] stderr:
[01:14:31] stderr:
[01:14:31] ------------------------------------------
[01:14:31] warning: trait objects without an explicit `dyn` are deprecated
[01:14:31]    |
[01:14:31]    |
[01:14:31] LL |     c1::<Into<B>>;
[01:14:31]    |          ^^^^^^^ help: use `dyn`: `dyn Into<B>`
[01:14:31]    |
[01:14:31]    = note: #[warn(bare_trait_objects)] on by default
[01:14:31] error[E0109]: type arguments are not allowed for this type
[01:14:31]   --> /checkout/src/test/ui/issues/issue-60989.rs:12:10
[01:14:31]    |
[01:14:31] LL |     c1::<()>;
[01:14:31] LL |     c1::<()>;
[01:14:31]    |          ^^ type argument not allowed
[01:14:31] 
[01:14:31] error[E0109]: type arguments are not allowed for this type
[01:14:31]   --> /checkout/src/test/ui/issues/issue-60989.rs:16:10
[01:14:31]    |
[01:14:31] LL |     c1::<Into<B>>;
[01:14:31] 
[01:14:31] error: aborting due to 2 previous errors
[01:14:31] 
[01:14:31] For more information about this error, try `rustc --explain E0109`.
---
[01:14:31] thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:521:22
[01:14:31] note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
[01:14:31] 
[01:14:31] 
[01:14:31] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-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 -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -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:14:31] 
[01:14:31] 
[01:14:31] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:14:31] Build completed unsuccessfully in 0:04:54
[01:14:31] Build completed unsuccessfully in 0:04:54
[01:14:31] Makefile:48: recipe for target 'check' failed
[01:14:31] make: *** [check] Error 1
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:21a86d23
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Sun May 26 11:40:05 UTC 2019
---
travis_time:end:00be3c25:start=1558870806633055142,finish=1558870806638375133,duration=5319991
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:131ff56b
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:00c7d430
travis_time:start:00c7d430
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:0334feb8
$ dmesg | grep -i kill

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)

@memoryruins memoryruins force-pushed the memoryruins:bare_trait_objects branch from 8596ee9 to cf792cb May 26, 2019

@rust-highfive

This comment was marked as resolved.

Copy link
Collaborator

commented May 26, 2019

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:09cdf074:start=1558895667459729582,finish=1558895669958638198,duration=2498908616
$ 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
$ export GCP_CACHE_BUCKET=rust-lang-ci-cache
$ export AWS_ACCESS_KEY_ID=AKIA46X5W6CZEJZ6XT55
---
travis_time:start:test_codegen
Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:21:13] 
[01:21:13] running 143 tests
[01:21:15] i..iii.....iii..i.iii....i......................i..i.................i.....i..........ii.i..i..i.ii. 100/143
[01:21:17] test result: ok. 113 passed; 0 failed; 30 ignored; 0 measured; 0 filtered out
[01:21:17] 
[01:21:17]  finished in 4.684
[01:21:17] travis_fold:end:test_codegen
---
travis_time:start:test_assembly
Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:21:19] 
[01:21:19] running 9 tests
[01:21:19] iiiiiiiii
[01:21:19] 
[01:21:19]  finished in 0.150
[01:21:19] travis_fold:end:test_assembly

---
travis_time:start:test_debuginfo
Check compiletest suite=debuginfo mode=debuginfo-gdb+lldb (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:21:36] 
[01:21:36] running 122 tests
[01:22:00] .iiiii...i.....i..i...i..i.i.i..i.ii..i.i.....i..i....i..........iiii..........i...ii...i.......ii.i 100/122
[01:22:05] .i.i......iii.i.....ii
[01:22:05] 
[01:22:05]  finished in 29.727
[01:22:05] travis_fold:end:test_debuginfo

---
[01:26:00] failures:
[01:26:00] 
[01:26:00] ---- [run-pass] run-pass-fulldeps/pprust-expr-roundtrip.rs stdout ----
[01:26:00] normalized stderr:
[01:26:00] warning: trait objects without an explicit `dyn` are deprecated
[01:26:00]   --> $DIR/pprust-expr-roundtrip.rs:65:37
[01:26:00]    |
[01:26:00] LL | fn iter_exprs(depth: usize, f: &mut FnMut(P<Expr>)) {
[01:26:00]    |                                     ^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(P<Expr>)`
[01:26:00]    |
[01:26:00]    = note: #[warn(bare_trait_objects)] on by default
[01:26:00] 
[01:26:00] 
[01:26:00] 
[01:26:00] The actual stderr differed from the expected stderr.
[01:26:00] The actual stderr differed from the expected stderr.
[01:26:00] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass-fulldeps/pprust-expr-roundtrip/pprust-expr-roundtrip.stderr
[01:26:00] To update references, rerun the tests and pass the `--bless` flag
[01:26:00] To only update this specific test, also pass `--test-args pprust-expr-roundtrip.rs`
[01:26:00] error: 1 errors occurred comparing output.
[01:26:00] status: exit code: 0
[01:26:00] status: exit code: 0
[01:26:00] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/run-pass-fulldeps/pprust-expr-roundtrip.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass-fulldeps/pprust-expr-roundtrip/a" "-Crpath" "-O" "-Cdebuginfo=0" "-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/run-pass-fulldeps/pprust-expr-roundtrip/auxiliary"
[01:26:00] ------------------------------------------
[01:26:00] 
[01:26:00] ------------------------------------------
[01:26:00] stderr:
[01:26:00] stderr:
[01:26:00] ------------------------------------------
[01:26:00] warning: trait objects without an explicit `dyn` are deprecated
[01:26:00]    |
[01:26:00]    |
[01:26:00] LL | fn iter_exprs(depth: usize, f: &mut FnMut(P<Expr>)) {
[01:26:00]    |                                     ^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(P<Expr>)`
[01:26:00]    |
[01:26:00]    = note: #[warn(bare_trait_objects)] on by default
[01:26:00] 
[01:26:00] ------------------------------------------
[01:26:00] 
[01:26:00] 
---
[01:26:00] test result: FAILED. 47 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out
[01:26:00] 
[01:26:00] 
[01:26:00] 
[01:26:00] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-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/run-pass-fulldeps" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass-fulldeps" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "run-pass" "--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 -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -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:26:00] 
[01:26:00] 
[01:26:00] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:26:00] Build completed unsuccessfully in 0:16:48
[01:26:00] Build completed unsuccessfully in 0:16:48
[01:26:00] make: *** [check] Error 1
[01:26:00] Makefile:48: recipe for target 'check' failed
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:1dd572e5
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Sun May 26 20:00:41 UTC 2019

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)

@memoryruins memoryruins force-pushed the memoryruins:bare_trait_objects branch from cf792cb to b03c80e May 26, 2019

@rust-highfive

This comment was marked as resolved.

Copy link
Collaborator

commented May 26, 2019

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:2cae2245:start=1558906905998030792,finish=1558906908543440531,duration=2545409739
$ 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
$ export GCP_CACHE_BUCKET=rust-lang-ci-cache
$ export AWS_ACCESS_KEY_ID=AKIA46X5W6CZEJZ6XT55
---
travis_time:start:test_codegen
Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:19:34] 
[01:19:34] running 143 tests
[01:19:37] i..iii.....iii..iiii.....i......................i..i.................i.....i..........ii.i..i..i.ii. 100/143
[01:19:39] test result: ok. 113 passed; 0 failed; 30 ignored; 0 measured; 0 filtered out
[01:19:39] 
[01:19:39]  finished in 4.805
[01:19:39] travis_fold:end:test_codegen
---
travis_time:start:test_assembly
Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:19:41] 
[01:19:41] running 9 tests
[01:19:41] iiiiiiiii
[01:19:41] 
[01:19:41]  finished in 0.154
[01:19:41] travis_fold:end:test_assembly

---
travis_time:start:test_debuginfo
Check compiletest suite=debuginfo mode=debuginfo-gdb+lldb (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:19:56] 
[01:19:56] running 122 tests
[01:20:21] .iiiii...i.....i..i...i..i.i.i..i.ii..i.i.....i..i....i..........iiii..........i...ii...i.......ii.i 100/122
[01:20:26] .i.i......iii.i.....ii
[01:20:26] 
[01:20:26]  finished in 30.269
[01:20:26] travis_fold:end:test_debuginfo

---
[01:33:31]    Doc-tests std
[01:33:33] 
[01:33:33] running 920 tests
[01:33:54] i................................................................................................... 100/920
[01:34:03] .......................FF.FFF.FFFF.iii......i......i...i......i..................................... 200/920
[01:34:06] ....................................F............................................................... 300/920
[01:34:21] ....ii.............................................................................................. 500/920
[01:34:26] .................................................................................................... 600/920
[01:34:34] .............................................iiii................................................... 700/920
[01:34:48] .................................................................................................... 800/920
[01:34:48] .................................................................................................... 800/920
[01:34:54] ..................................................................iiii.............................. 900/920
[01:34:55] ....................
[01:34:55] failures:
[01:34:55] 
[01:34:55] ---- error.rs - error::Box<Error + 'a>::from (line 225) stdout ----
[01:34:55] error: trait objects without an explicit `dyn` are deprecated
[01:34:55]   --> error.rs:247:27
[01:34:55]    |
[01:34:55] 25 | let a_boxed_error = Box::<Error>::from(an_error);
[01:34:55]    |                           ^^^^^ help: use `dyn`: `dyn Error`
[01:34:55] note: lint level defined here
[01:34:55]   --> error.rs:223:9
[01:34:55]    |
[01:34:55] 1  | #![deny(warnings)]
[01:34:55] 1  | #![deny(warnings)]
[01:34:55]    |         ^^^^^^^^
[01:34:55]    = note: #[deny(bare_trait_objects)] implied by #[deny(warnings)]
[01:34:55] error: aborting due to previous error
[01:34:55] 
[01:34:55] thread 'error.rs - error::Box<Error + 'a>::from (line 225)' panicked at 'couldn't compile the test', src/librustdoc/test.rs:320:13
[01:34:55] note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
[01:34:55] note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
[01:34:55] 
[01:34:55] ---- error.rs - error::Box<Error + Send + Sync + 'a>::from (line 264) stdout ----
[01:34:55] error: trait objects without an explicit `dyn` are deprecated
[01:34:55]   --> error.rs:290:27
[01:34:55]    |
[01:34:55] 29 | let a_boxed_error = Box::<Error + Send + Sync>::from(an_error);
[01:34:55]    |                           ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Error + Send + Sync`
[01:34:55] note: lint level defined here
[01:34:55]   --> error.rs:262:9
[01:34:55]    |
[01:34:55] 1  | #![deny(warnings)]
[01:34:55] 1  | #![deny(warnings)]
[01:34:55]    |         ^^^^^^^^
[01:34:55]    = note: #[deny(bare_trait_objects)] implied by #[deny(warnings)]
[01:34:55] error: aborting due to previous error
[01:34:55] 
[01:34:55] thread 'error.rs - error::Box<Error + Send + Sync + 'a>::from (line 264)' panicked at 'couldn't compile the test', src/librustdoc/test.rs:320:13
[01:34:55] 
[01:34:55] 
[01:34:55] ---- error.rs - error::Box<Error + Send + Sync + 'a>::from (line 365) stdout ----
[01:34:55] error: trait objects without an explicit `dyn` are deprecated
[01:34:55]  --> error.rs:370:27
[01:34:55]   |
[01:34:55] 8 | let a_boxed_error = Box::<Error + Send + Sync>::from(a_str_error);
[01:34:55]   |                           ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Error + Send + Sync`
[01:34:55] note: lint level defined here
[01:34:55]  --> error.rs:363:9
[01:34:55]   |
[01:34:55] 1 | #![deny(warnings)]
[01:34:55] 1 | #![deny(warnings)]
[01:34:55]   |         ^^^^^^^^
[01:34:55]   = note: #[deny(bare_trait_objects)] implied by #[deny(warnings)]
[01:34:55] error: aborting due to previous error
[01:34:55] 
[01:34:55] thread 'error.rs - error::Box<Error + Send + Sync + 'a>::from (line 365)' panicked at 'couldn't compile the test', src/librustdoc/test.rs:320:13
[01:34:55] 
[01:34:55] 
[01:34:55] ---- error.rs - error::Box<Error + Send + Sync + 'a>::from (line 409) stdout ----
[01:34:55] error: trait objects without an explicit `dyn` are deprecated
[01:34:55]  --> error.rs:415:27
[01:34:55]   |
[01:34:55] 9 | let a_boxed_error = Box::<Error + Send + Sync>::from(a_cow_str_error);
[01:34:55]   |                           ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Error + Send + Sync`
[01:34:55] note: lint level defined here
[01:34:55]  --> error.rs:407:9
[01:34:55]   |
[01:34:55] 1 | #![deny(warnings)]
[01:34:55] 1 | #![deny(warnings)]
[01:34:55]   |         ^^^^^^^^
[01:34:55]   = note: #[deny(bare_trait_objects)] implied by #[deny(warnings)]
[01:34:55] error: aborting due to previous error
[01:34:55] 
[01:34:55] thread 'error.rs - error::Box<Error + Send + Sync + 'a>::from (line 409)' panicked at 'couldn't compile the test', src/librustdoc/test.rs:320:13
[01:34:55] 
[01:34:55] 
[01:34:55] ---- error.rs - error::Box<Error + Send + Sync>::from (line 307) stdout ----
[01:34:55] error: trait objects without an explicit `dyn` are deprecated
[01:34:55]  --> error.rs:312:27
[01:34:55]   |
[01:34:55] 8 | let a_boxed_error = Box::<Error + Send + Sync>::from(a_string_error);
[01:34:55]   |                           ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Error + Send + Sync`
[01:34:55] note: lint level defined here
[01:34:55]  --> error.rs:305:9
[01:34:55]   |
[01:34:55] 1 | #![deny(warnings)]
[01:34:55] 1 | #![deny(warnings)]
[01:34:55]   |         ^^^^^^^^
[01:34:55]   = note: #[deny(bare_trait_objects)] implied by #[deny(warnings)]
[01:34:55] error: aborting due to previous error
[01:34:55] 
[01:34:55] thread 'error.rs - error::Box<Error + Send + Sync>::from (line 307)' panicked at 'couldn't compile the test', src/librustdoc/test.rs:320:13
[01:34:55] 
[01:34:55] 
[01:34:55] ---- error.rs - error::Box<Error>::from (line 342) stdout ----
[01:34:55] error: trait objects without an explicit `dyn` are deprecated
[01:34:55]  --> error.rs:347:27
[01:34:55]   |
[01:34:55] 8 | let a_boxed_error = Box::<Error>::from(a_string_error);
[01:34:55]   |                           ^^^^^ help: use `dyn`: `dyn Error`
[01:34:55] note: lint level defined here
[01:34:55]  --> error.rs:340:9
[01:34:55]   |
[01:34:55] 1 | #![deny(warnings)]
[01:34:55] 1 | #![deny(warnings)]
[01:34:55]   |         ^^^^^^^^
[01:34:55]   = note: #[deny(bare_trait_objects)] implied by #[deny(warnings)]
[01:34:55] error: aborting due to previous error
[01:34:55] 
[01:34:55] thread 'error.rs - error::Box<Error>::from (line 342)' panicked at 'couldn't compile the test', src/librustdoc/test.rs:320:13
[01:34:55] 
[01:34:55] 
[01:34:55] ---- error.rs - error::Box<Error>::from (line 387) stdout ----
[01:34:55] error: trait objects without an explicit `dyn` are deprecated
[01:34:55]  --> error.rs:392:27
[01:34:55]   |
[01:34:55] 8 | let a_boxed_error = Box::<Error>::from(a_str_error);
[01:34:55]   |                           ^^^^^ help: use `dyn`: `dyn Error`
[01:34:55] note: lint level defined here
[01:34:55]  --> error.rs:385:9
[01:34:55]   |
[01:34:55] 1 | #![deny(warnings)]
[01:34:55] 1 | #![deny(warnings)]
[01:34:55]   |         ^^^^^^^^
[01:34:55]   = note: #[deny(bare_trait_objects)] implied by #[deny(warnings)]
[01:34:55] error: aborting due to previous error
[01:34:55] 
[01:34:55] thread 'error.rs - error::Box<Error>::from (line 387)' panicked at 'couldn't compile the test', src/librustdoc/test.rs:320:13
[01:34:55] 
[01:34:55] 
[01:34:55] ---- error.rs - error::Box<Error>::from (line 433) stdout ----
[01:34:55] error: trait objects without an explicit `dyn` are deprecated
[01:34:55]  --> error.rs:439:27
[01:34:55]   |
[01:34:55] 9 | let a_boxed_error = Box::<Error>::from(a_cow_str_error);
[01:34:55]   |                           ^^^^^ help: use `dyn`: `dyn Error`
[01:34:55] note: lint level defined here
[01:34:55]  --> error.rs:431:9
[01:34:55]   |
[01:34:55] 1 | #![deny(warnings)]
[01:34:55] 1 | #![deny(warnings)]
[01:34:55]   |         ^^^^^^^^
[01:34:55]   = note: #[deny(bare_trait_objects)] implied by #[deny(warnings)]
[01:34:55] error: aborting due to previous error
[01:34:55] 
[01:34:55] thread 'error.rs - error::Box<Error>::from (line 433)' panicked at 'couldn't compile the test', src/librustdoc/test.rs:320:13
[01:34:55] 
[01:34:55] 
[01:34:55] ---- error.rs - error::Error::cause (line 77) stdout ----
[01:34:55] error: trait objects without an explicit `dyn` are deprecated
[01:34:55]   --> error.rs:97:32
[01:34:55]    |
[01:34:55] 22 |     fn cause(&self) -> Option<&Error> {
[01:34:55]    |                                ^^^^^ help: use `dyn`: `dyn Error`
[01:34:55] note: lint level defined here
[01:34:55]   --> error.rs:76:9
[01:34:55]    |
[01:34:55] 1  | #![deny(warnings)]
[01:34:55] 1  | #![deny(warnings)]
[01:34:55]    |         ^^^^^^^^
[01:34:55]    = note: #[deny(bare_trait_objects)] implied by #[deny(warnings)]
[01:34:55] error: aborting due to previous error
[01:34:55] 
[01:34:55] thread 'error.rs - error::Error::cause (line 77)' panicked at 'couldn't compile the test', src/librustdoc/test.rs:320:13
[01:34:55] 
[01:34:55] 
[01:34:55] ---- fs.rs - fs::read_dir (line 1973) stdout ----
[01:34:55] error: trait objects without an explicit `dyn` are deprecated
[01:34:55]  --> fs.rs:1979:32
[01:34:55]   |
[01:34:55] 9 | fn visit_dirs(dir: &Path, cb: &Fn(&DirEntry)) -> io::Result<()> {
[01:34:55]   |                                ^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&DirEntry)`
[01:34:55] note: lint level defined here
[01:34:55]  --> fs.rs:1971:9
[01:34:55]   |
[01:34:55] 1 | #![deny(warnings)]
[01:34:55] 1 | #![deny(warnings)]
[01:34:55]   |         ^^^^^^^^
[01:34:55]   = note: #[deny(bare_trait_objects)] implied by #[deny(warnings)]
[01:34:55] error: aborting due to previous error
[01:34:55] 
[01:34:55] thread 'fs.rs - fs::read_dir (line 1973)' panicked at 'couldn't compile the test', src/librustdoc/test.rs:320:13
[01:34:55] 
---
[01:34:55] 
[01:34:55] error: test failed, to rerun pass '--doc'
[01:34:55] 
[01:34:55] 
[01:34:55] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-gnu" "-j" "4" "--release" "--locked" "--color" "always" "--features" "panic-unwind backtrace compiler-builtins-c" "--manifest-path" "/checkout/src/libstd/Cargo.toml" "-p" "std" "--" "--quiet"
[01:34:55] 
[01:34:55] 
[01:34:55] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:34:55] Build completed unsuccessfully in 0:26:58
[01:34:55] Build completed unsuccessfully in 0:26:58
[01:34:55] make: *** [check] Error 1
[01:34:55] Makefile:48: recipe for target 'check' failed
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:1bfa552e
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Sun May 26 23:16:56 UTC 2019
---
travis_time:end:15b84aa8:start=1558912617953970755,finish=1558912617958959979,duration=4989224
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:077f5b9c
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:0e810c84
travis_time:start:0e810c84
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:0f18943e
$ dmesg | grep -i kill

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)

@memoryruins

This comment has been minimized.

Copy link
Contributor Author

commented May 28, 2019

@Centril ready for review! \o/

@memoryruins memoryruins force-pushed the memoryruins:bare_trait_objects branch from 418e39b to afa2bd6 May 28, 2019

@Centril

This comment has been minimized.

Copy link
Member

commented May 28, 2019

@rust-lang/lang N.B. This PR implements the "lint against bare trait syntax" as specified in RFC 2113. As we only move to a warning, I think we can dispense with a crater run for now and perhaps move to deny later in the year.

@joshtriplett

This comment has been minimized.

Copy link
Member

commented May 28, 2019

@memoryruins memoryruins force-pushed the memoryruins:bare_trait_objects branch from afa2bd6 to a6eda0d May 28, 2019

@memoryruins

This comment has been minimized.

Copy link
Contributor Author

commented May 28, 2019

Rebased on top of master and addressed comments ^^

@Centril

This comment has been minimized.

Copy link
Member

commented May 28, 2019

Thanks!

@bors r+ p=1 rollup=never

@bors

This comment has been minimized.

Copy link
Contributor

commented May 28, 2019

📌 Commit a6eda0d has been approved by Centril

@Centril

This comment has been minimized.

Copy link
Member

commented May 28, 2019

@bors p=2

@bors

This comment has been minimized.

Copy link
Contributor

commented May 29, 2019

⌛️ Testing commit a6eda0d with merge f4d9baf...

bors added a commit that referenced this pull request May 29, 2019
Auto merge of #61203 - memoryruins:bare_trait_objects, r=Centril
Warn on bare_trait_objects by default

The `bare_trait_objects` lint is set to `warn` by default.
Most ui tests have been updated to use `dyn` to avoid creating noise in stderr files.

r? @Centril

cc #54910
@bors

This comment has been minimized.

Copy link
Contributor

commented May 29, 2019

💔 Test failed - checks-travis

phansch added a commit to phansch/rust-clippy that referenced this pull request May 30, 2019
Rustup to rust-lang/rust#61203
Migrates all trait objects to use `dyn`
bors added a commit to rust-lang/rust-clippy that referenced this pull request May 30, 2019
Auto merge of #4155 - phansch:rustup_trait_obj, r=oli-obk
Rustup to rust-lang/rust#61203

See rust-lang/rust#61203

Migrates all trait objects to use `dyn` in our ui tests

changelog: none

@Centril Centril added this to the 1.37 milestone May 30, 2019

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request May 30, 2019
submodules: update clippy from fb33fad to d2f5122
Changes:
````
Rustup to rust-lang#61203
rustup rust-lang#60928
rustup rust-lang#61164 (which is included in rust-lang#61274)
````
bors added a commit that referenced this pull request May 31, 2019
Auto merge of #61298 - matthiaskrgr:submodule_upd, r=oli-obk
submodules: update clippy from fb33fad to d2f5122

Changes:
````
Rustup to #61203
rustup #60928
rustup #61164 (which is included in #61274)
````

Fixes #61287

r? @oli-obk
@alexcrichton

This comment has been minimized.

Copy link
Member

commented May 31, 2019

It appears that this lint isn't automatically rust-fixable, is that correct?

If so I would prefer that this were reverted, it's generating thousands of warnings in just one local project, and without rustfix to fix the majority of these it seems like this is prematurely warning by default.

@Centril

This comment has been minimized.

Copy link
Member

commented May 31, 2019

It appears that this lint isn't automatically rust-fixable, is that correct?

I was able to rustfix this automatically in rust-lang/gll#100. Did you use cargo fix --edition-idioms? dyn Trait is even included as an example in the edition guide, https://doc.rust-lang.org/nightly/edition-guide/editions/transitioning-an-existing-project-to-a-new-edition.html#writing-idiomatic-code-in-a-new-edition

@alexcrichton

This comment has been minimized.

Copy link
Member

commented May 31, 2019

Since this is now an on-by-default warning it should not require --edition-idioms. It'd be great to make sure that these things are tested before landing.

Tweaking the cargo fix command locally it does look like these are automatically fixed, namely for me using --all worked since it only looks to fix in the local package otherwise.

@Centril

This comment has been minimized.

Copy link
Member

commented May 31, 2019

@alexcrichton Ah; I assumed the --edition-idioms infrastructure simply set -W rust_2018_idioms. Can you upstream the fix (in cargo I assume?)?

namely for me using --all worked since it only looks to fix in the local package otherwise.

But --cap-lints should apply so you shouldn't get warnings otherwise... or perhaps you had some interactions with macros?

Librazy added a commit to Librazy/talent-plan that referenced this pull request Jun 2, 2019
Fix labrpc building for Rust Nightly
Missing `dyn` for trait object (bare trait object) is a warning by default now as rust-lang/rust#61203 is merged, which breaks labrpc.
Also fixed a few other warnings and unclear documents.

Signed-off-by: Liqueur Librazy <im@librazy.org>
@alexcrichton

This comment has been minimized.

Copy link
Member

commented Jun 3, 2019

No fix was necessary, it's simply on by default and all that's needed is cargo fix. If there is more than one crate in a workspace you may need cargo fix --all. The --cap-lints argument isn't applied to workspace members.

overvenus added a commit to pingcap/talent-plan that referenced this pull request Jun 5, 2019
Fix labrpc building for Rust Nightly (#133)
Missing `dyn` for trait object (bare trait object) is a warning by default now as rust-lang/rust#61203 is merged, which breaks labrpc.
Also fixed a few other warnings and unclear documents.

Signed-off-by: Liqueur Librazy <im@librazy.org>
@SimonSapin

This comment has been minimized.

Copy link
Contributor

commented Jun 19, 2019

This change is proving disruptive: #61963

netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Aug 29, 2019
he
Update rust to version 1.37.0
Pkgsrc changes:
 * Add a patch to llvm to deal with const dli_saddr.
 * Adapt two other patches.
 * Cross-build currently fails, so i386, powerpc and sparc64 bootstrap
   kits for 1.37.0 are built natively.  Missing aarch64 hardware, so that's
   not available yet.
 * Bump bootstrap requirements to 1.36.0 except for armv7-unknown-netbsd-eabihf
   which I've not managed to cross-build.

Upstream changes:

Version 1.37.0 (2019-08-15)
==========================

Language
--------
- `#[must_use]` will now warn if the type is contained in a [tuple][61100],
  [`Box`][62228], or an [array][62235] and unused.
- [You can now use the `cfg` and `cfg_attr` attributes on
  generic parameters.][61547]
- [You can now use enum variants through type alias.][61682] e.g. You can
  write the following:
  ```rust
  type MyOption = Option<u8>;

  fn increment_or_zero(x: MyOption) -> u8 {
      match x {
          MyOption::Some(y) => y + 1,
          MyOption::None => 0,
      }
  }
  ```
- [You can now use `_` as an identifier for consts.][61347] e.g. You can write
  `const _: u32 = 5;`.
- [You can now use `#[repr(align(X)]` on enums.][61229]
- [The  `?`/_"Kleene"_ macro operator is now available in the
  2015 edition.][60932]

Compiler
--------
- [You can now enable Profile-Guided Optimization with the `-C profile-generate`
  and `-C profile-use` flags.][61268] For more information on how to use profile
  guided optimization, please refer to the [rustc book][rustc-book-pgo].
- [The `rust-lldb` wrapper script should now work again.][61827]

Libraries
---------
- [`mem::MaybeUninit<T>` is now ABI-compatible with `T`.][61802]

Stabilized APIs
---------------
- [`BufReader::buffer`]
- [`BufWriter::buffer`]
- [`Cell::from_mut`]
- [`Cell<[T]>::as_slice_of_cells`][`Cell<slice>::as_slice_of_cells`]
- [`DoubleEndedIterator::nth_back`]
- [`Option::xor`]
- [`Wrapping::reverse_bits`]
- [`i128::reverse_bits`]
- [`i16::reverse_bits`]
- [`i32::reverse_bits`]
- [`i64::reverse_bits`]
- [`i8::reverse_bits`]
- [`isize::reverse_bits`]
- [`slice::copy_within`]
- [`u128::reverse_bits`]
- [`u16::reverse_bits`]
- [`u32::reverse_bits`]
- [`u64::reverse_bits`]
- [`u8::reverse_bits`]
- [`usize::reverse_bits`]

Cargo
-----
- [`Cargo.lock` files are now included by default when publishing executable crates
  with executables.][cargo/7026]
- [You can now specify `default-run="foo"` in `[package]` to specify the
  default executable to use for `cargo run`.][cargo/7056]

Misc
----

Compatibility Notes
-------------------
- [Using `...` for inclusive range patterns will now warn by default.][61342]
  Please transition your code to using the `..=` syntax for inclusive
  ranges instead.
- [Using a trait object without the `dyn` will now warn by default.][61203]
  Please transition your code to use `dyn Trait` for trait objects instead.

[62228]: rust-lang/rust#62228
[62235]: rust-lang/rust#62235
[61802]: rust-lang/rust#61802
[61827]: rust-lang/rust#61827
[61547]: rust-lang/rust#61547
[61682]: rust-lang/rust#61682
[61268]: rust-lang/rust#61268
[61342]: rust-lang/rust#61342
[61347]: rust-lang/rust#61347
[61100]: rust-lang/rust#61100
[61203]: rust-lang/rust#61203
[61229]: rust-lang/rust#61229
[60932]: rust-lang/rust#60932
[cargo/7026]: rust-lang/cargo#7026
[cargo/7056]: rust-lang/cargo#7056
[`BufReader::buffer`]: https://doc.rust-lang.org/std/io/struct.BufReader.html#method.buffer
[`BufWriter::buffer`]: https://doc.rust-lang.org/std/io/struct.BufWriter.html#method.buffer
[`Cell::from_mut`]: https://doc.rust-lang.org/std/cell/struct.Cell.html#method.from_mut
[`Cell<slice>::as_slice_of_cells`]: https://doc.rust-lang.org/std/cell/struct.Cell.html#method.as_slice_of_cells
[`DoubleEndedIterator::nth_back`]: https://doc.rust-lang.org/std/iter/trait.DoubleEndedIterator.html#method.nth_back
[`Option::xor`]: https://doc.rust-lang.org/std/option/enum.Option.html#method.xor
[`RefCell::try_borrow_unguarded`]: https://doc.rust-lang.org/std/cell/struct.RefCell.html#method.try_borrow_unguarded
[`Wrapping::reverse_bits`]: https://doc.rust-lang.org/std/num/struct.Wrapping.html#method.reverse_bits
[`i128::reverse_bits`]: https://doc.rust-lang.org/std/primitive.i128.html#method.reverse_bits
[`i16::reverse_bits`]: https://doc.rust-lang.org/std/primitive.i16.html#method.reverse_bits
[`i32::reverse_bits`]: https://doc.rust-lang.org/std/primitive.i32.html#method.reverse_bits
[`i64::reverse_bits`]: https://doc.rust-lang.org/std/primitive.i64.html#method.reverse_bits
[`i8::reverse_bits`]: https://doc.rust-lang.org/std/primitive.i8.html#method.reverse_bits
[`isize::reverse_bits`]: https://doc.rust-lang.org/std/primitive.isize.html#method.reverse_bits
[`slice::copy_within`]: https://doc.rust-lang.org/std/primitive.slice.html#method.copy_within
[`u128::reverse_bits`]: https://doc.rust-lang.org/std/primitive.u128.html#method.reverse_bits
[`u16::reverse_bits`]: https://doc.rust-lang.org/std/primitive.u16.html#method.reverse_bits
[`u32::reverse_bits`]: https://doc.rust-lang.org/std/primitive.u32.html#method.reverse_bits
[`u64::reverse_bits`]: https://doc.rust-lang.org/std/primitive.u64.html#method.reverse_bits
[`u8::reverse_bits`]: https://doc.rust-lang.org/std/primitive.u8.html#method.reverse_bits
[`usize::reverse_bits`]: https://doc.rust-lang.org/std/primitive.usize.html#method.reverse_bits
[rustc-book-pgo]: https://doc.rust-lang.org/rustc/profile-guided-optimization.html
d-e-s-o added a commit to d-e-s-o/differential-datalog that referenced this pull request Sep 5, 2019
Fix warnings about trait objects requiring 'dyn' keyword
When using Rust 1.37 a missing 'dyn' in conjunction with a trait object
is now emitting a warning (see [Rust issue #61203][issue-61203]),
causing all generated programs to warn as well:

> warning: trait objects without an explicit `dyn` are deprecated
>   --> src/valmap.rs:36:34
>    |
> 36 |     pub fn format(&self, w: &mut io::Write) -> io::Result<()> {
>    |                                  ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
>    |
>    = note: #[warn(bare_trait_objects)] on by default

Let's remove it by adding this keyword to the project template.

[issue-61203]: rust-lang/rust#61203
d-e-s-o added a commit to d-e-s-o/differential-datalog that referenced this pull request Sep 5, 2019
Fix warnings about trait objects requiring 'dyn' keyword
When using Rust 1.37 a missing 'dyn' in conjunction with a trait object is now
emitting a warning (see [Rust issue #61203][issue-61203]), causing all generated
programs to warn as well:

> warning: trait objects without an explicit `dyn` are deprecated
>   --> src/valmap.rs:36:34
>    |
> 36 |     pub fn format(&self, w: &mut io::Write) -> io::Result<()> {
>    |                                  ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
>    |
>    = note: #[warn(bare_trait_objects)] on by default

Let's remove these warnings by adding this keyword to the uses of trait objects
in the project template.

[issue-61203]: rust-lang/rust#61203
ryzhyk added a commit to vmware/differential-datalog that referenced this pull request Sep 5, 2019
Fix warnings about trait objects requiring 'dyn' keyword
When using Rust 1.37 a missing 'dyn' in conjunction with a trait object is now
emitting a warning (see [Rust issue #61203][issue-61203]), causing all generated
programs to warn as well:

> warning: trait objects without an explicit `dyn` are deprecated
>   --> src/valmap.rs:36:34
>    |
> 36 |     pub fn format(&self, w: &mut io::Write) -> io::Result<()> {
>    |                                  ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
>    |
>    = note: #[warn(bare_trait_objects)] on by default

Let's remove these warnings by adding this keyword to the uses of trait objects
in the project template.

[issue-61203]: rust-lang/rust#61203
@plauche plauche referenced this pull request Sep 6, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
7 participants
You can’t perform that action at this time.