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

Implement rfc 1789: Conversions from `&mut T` to `&Cell<T>` #50494

Merged
merged 10 commits into from Jul 23, 2018

Conversation

@F001
Contributor

F001 commented May 7, 2018

I'm surprised that RFC 1789 has not been implemented for several months. Tracking issue: #43038

Please note: when I was writing tests for &Cell<[i32]>, I found it is not easy to get the length of the contained slice. So I designed a get_with method which might be useful for similar cases. This method is not designed in the RFC, and it certainly needs to be reviewed by core team. I think it has some connections with Cell::update #50186 , which is also in design phase.

@rust-highfive

This comment has been minimized.

Show comment
Hide comment
@rust-highfive

rust-highfive May 7, 2018

Collaborator

r? @joshtriplett

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

Collaborator

rust-highfive commented May 7, 2018

r? @joshtriplett

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

@rust-highfive

This comment was marked as resolved.

Show comment
Hide comment
@rust-highfive

rust-highfive May 7, 2018

Collaborator

The job x86_64-gnu-llvm-3.9 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.
[01:08:24] 
[01:08:24]    Doc-tests core
[01:08:35] 
[01:08:35] running 1993 tests
[01:08:47] ..............................F.....................................................................
[01:09:17] ....................................................................................................
[01:09:32] .........................i..........................................................................
[01:09:43] ....................................................................................................
[01:09:55] ....................................................................................................
---
[01:13:12] ---- cell.rs - cell::Cell<T>::get_with (line 527) stdout ----
[01:13:12]  error[E0282]: type annotations needed
[01:13:12]  --> cell.rs:532:14
[01:13:12]   |
[01:13:12] 8 | assert_eq!(c.get_with(|v|v.iter().sum()), 6)
[01:13:12]   |              ^^^^^^^^ cannot infer type for `U`
[01:13:12] 
[01:13:12] thread 'cell.rs - cell::Cell<T>::get_with (line 527)' panicked at 'couldn't compile the test', librustdoc/test.rs:321:13
[01:13:12] 
[01:13:12] 
[01:13:12] failures:
[01:13:12]     cell.rs - cell::Cell<T>::get_with (line 527)
[01:13:12]     cell.rs - cell::Cell<T>::get_with (line 527)
[01:13:12] 
[01:13:12] test result: FAILED. 1990 passed; 1 failed; 2 ignored; 0 measured; 0 filtered out
[01:13:12] 
[01:13:12] error: test failed, to rerun pass '--doc'
[01:13:12] 
[01:13:12] 
[01:13:12] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-gnu" "--release" "--locked" "--color" "always" "--features" "panic-unwind jemalloc backtrace" "--manifest-path" "/checkout/src/libstd/Cargo.toml" "-p" "core" "--" "--quiet"
[01:13:12] 
[01:13:12] 
[01:13:12] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:13:12] Build completed unsuccessfully in 0:32:18
[01:13:12] Build completed unsuccessfully in 0:32:18
[01:13:12] make: *** [check] Error 1
[01:13:12] Makefile:58: recipe for target 'check' failed

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:17e61ae2
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

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)

Collaborator

rust-highfive commented May 7, 2018

The job x86_64-gnu-llvm-3.9 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.
[01:08:24] 
[01:08:24]    Doc-tests core
[01:08:35] 
[01:08:35] running 1993 tests
[01:08:47] ..............................F.....................................................................
[01:09:17] ....................................................................................................
[01:09:32] .........................i..........................................................................
[01:09:43] ....................................................................................................
[01:09:55] ....................................................................................................
---
[01:13:12] ---- cell.rs - cell::Cell<T>::get_with (line 527) stdout ----
[01:13:12]  error[E0282]: type annotations needed
[01:13:12]  --> cell.rs:532:14
[01:13:12]   |
[01:13:12] 8 | assert_eq!(c.get_with(|v|v.iter().sum()), 6)
[01:13:12]   |              ^^^^^^^^ cannot infer type for `U`
[01:13:12] 
[01:13:12] thread 'cell.rs - cell::Cell<T>::get_with (line 527)' panicked at 'couldn't compile the test', librustdoc/test.rs:321:13
[01:13:12] 
[01:13:12] 
[01:13:12] failures:
[01:13:12]     cell.rs - cell::Cell<T>::get_with (line 527)
[01:13:12]     cell.rs - cell::Cell<T>::get_with (line 527)
[01:13:12] 
[01:13:12] test result: FAILED. 1990 passed; 1 failed; 2 ignored; 0 measured; 0 filtered out
[01:13:12] 
[01:13:12] error: test failed, to rerun pass '--doc'
[01:13:12] 
[01:13:12] 
[01:13:12] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-gnu" "--release" "--locked" "--color" "always" "--features" "panic-unwind jemalloc backtrace" "--manifest-path" "/checkout/src/libstd/Cargo.toml" "-p" "core" "--" "--quiet"
[01:13:12] 
[01:13:12] 
[01:13:12] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:13:12] Build completed unsuccessfully in 0:32:18
[01:13:12] Build completed unsuccessfully in 0:32:18
[01:13:12] make: *** [check] Error 1
[01:13:12] Makefile:58: recipe for target 'check' failed

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:17e61ae2
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

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)

@kennytm kennytm added the T-libs label May 7, 2018

@pietroalbini

This comment has been minimized.

Show comment
Hide comment
@pietroalbini

pietroalbini May 14, 2018

Member

Ping from triage @joshtriplett! This PR needs your review.

Member

pietroalbini commented May 14, 2018

Ping from triage @joshtriplett! This PR needs your review.

@joshtriplett

This comment has been minimized.

Show comment
Hide comment
@joshtriplett

joshtriplett May 14, 2018

Member

This looks plausible to me, but I'd feel more comfortable if a second reviewer looked at it.

Member

joshtriplett commented May 14, 2018

This looks plausible to me, but I'd feel more comfortable if a second reviewer looked at it.

@bors

This comment has been minimized.

Show comment
Hide comment
@bors

bors May 17, 2018

Contributor

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

Contributor

bors commented May 17, 2018

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

@eddyb

This comment has been minimized.

Show comment
Hide comment
@eddyb

eddyb May 18, 2018

Member

@F001 You need to rebase to get rid of the merge commit.

Member

eddyb commented May 18, 2018

@F001 You need to rebase to get rid of the merge commit.

@F001

This comment has been minimized.

Show comment
Hide comment
@F001

F001 May 23, 2018

Contributor

cc @rust-lang/libs . Is there anyone else can help to do the review? Thanks!

Contributor

F001 commented May 23, 2018

cc @rust-lang/libs . Is there anyone else can help to do the review? Thanks!

@eddyb

This comment has been minimized.

Show comment
Hide comment
@eddyb
Member

eddyb commented May 23, 2018

@alexcrichton

@rfcbot fcp merge

Due to the new trait impl let's FCP for merge

Show outdated Hide outdated src/libcore/cell.rs
Show outdated Hide outdated src/libcore/cell.rs
@eddyb

This comment has been minimized.

Show comment
Hide comment
@eddyb

eddyb May 26, 2018

Member

To expand on what @alexcrichton said, Cell::get_with<F: FnOnce(&T) -> R, R>(&self, F) -> R is unsound because there's no way to enforce limits on what F can do (that is, that the closure doesn't do anything else to mutate self, which would conflict with the &T borrow).
One quick example demonstrating how unsoundness can go wrong is (feel free to test it):

let cell = Cell::new(Some(String::from("foo")));
cell.get_with(|s| {
    let s = s.as_ref().unwrap();
    cell.set(None);
    let s2 = String::from("bar");
    println!("{}", s); // crash or print "bar" or garbage
    println!("{}", s2); // keep `s2` alive
});

If there was, you could even make it give out &mut T, and I call this Cell::with_mut.
Once you have Cell::with_mut, you can implement all other Cell APIs safely through it, and the guarantee for F becomes "reentrace freedom" (i.e. F can never call with_mut again, transitively).
(in some sense this is a thread-local analogue of "atomic operation")

Sadly, we're not ready to support anything like this yet (cc @nikomatsakis @RalfJung).

Member

eddyb commented May 26, 2018

To expand on what @alexcrichton said, Cell::get_with<F: FnOnce(&T) -> R, R>(&self, F) -> R is unsound because there's no way to enforce limits on what F can do (that is, that the closure doesn't do anything else to mutate self, which would conflict with the &T borrow).
One quick example demonstrating how unsoundness can go wrong is (feel free to test it):

let cell = Cell::new(Some(String::from("foo")));
cell.get_with(|s| {
    let s = s.as_ref().unwrap();
    cell.set(None);
    let s2 = String::from("bar");
    println!("{}", s); // crash or print "bar" or garbage
    println!("{}", s2); // keep `s2` alive
});

If there was, you could even make it give out &mut T, and I call this Cell::with_mut.
Once you have Cell::with_mut, you can implement all other Cell APIs safely through it, and the guarantee for F becomes "reentrace freedom" (i.e. F can never call with_mut again, transitively).
(in some sense this is a thread-local analogue of "atomic operation")

Sadly, we're not ready to support anything like this yet (cc @nikomatsakis @RalfJung).

@rust-highfive

This comment was marked as resolved.

Show comment
Hide comment
@rust-highfive

rust-highfive May 26, 2018

Collaborator

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

Click to expand the log.
[00:51:03] ..........................................................i.........................................
[00:51:07] ....................................................................................................
[00:51:13] ....................................................................................................
[00:51:20] .....................................................................................i..............
[00:51:22] ...iiiiiiiii...................................................
[00:51:22] 
[00:51:22] travis_fold:start:test_ui_nll
travis_time:start:test_ui_nll
Check compiletest suite=ui mode=ui compare_mode=nll (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
---
[00:52:13] ..........................................................i.........................................
[00:52:18] ....................................................................................................
[00:52:23] ....................................................................................................
[00:52:29] .....................................................................................i..............
[00:52:32] ...iiiiiiiii...................................................
[00:52:32] 
[00:52:32]  finished in 69.451
[00:52:32] travis_fold:end:test_ui_nll

---
[01:17:52] 
[01:17:52]    Doc-tests core
[01:18:04] 
[01:18:04] running 1989 tests
[01:18:17] ..........................F.........................................................................
[01:18:49] ....................................................................................................
[01:19:06] .......................i............................................................................
[01:19:18] ....................................................................................................
[01:19:31] ....................................................................................................
---
[01:22:38] ....................................................................................................
[01:22:55] .......................i.................................................................
[01:22:55] failures:
[01:22:55] 
[01:22:55] ---- cell.rs - cell::Cell<T>::from_mut (line 508) stdout ----
[01:22:55] error: expected one of `.`, `;`, `?`, or an operator, found `assert_eq`
[01:22:55]  --> cell.rs:514:1
[01:22:55]   |
[01:22:55] 8 | let slice_cell : &[Cell<i32>] = &cell_slice[..]
[01:22:55]   |                                                - expected one of `.`, `;`, `?`, or an operator here
[01:22:55] 9 | assert_eq!(slice_cell.len(), 3)
[01:22:55]   | ^^^^^^^^^ unexpected token
[01:22:55] thread 'cell.rs - cell::Cell<T>::from_mut (line 508)' panicked at 'couldn't compile the test', librustdoc/test.rs:325:17
[01:22:55] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[01:22:55] 
[01:22:55] 
---
[01:22:55] 
[01:22:55] error: test failed, to rerun pass '--doc'
[01:22:55] 
[01:22:55] 
[01:22: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 jemalloc backtrace" "--manifest-path" "/checkout/src/libstd/Cargo.toml" "-p" "core" "--" "--quiet"
[01:22:55] 
[01:22:55] 
[01:22:55] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:22:55] Build completed unsuccessfully in 0:34:23
[01:22:55] Build completed unsuccessfully in 0:34:23
[01:22:55] Makefile:58: recipe for target 'check' failed
[01:22:55] make: *** [check] Error 1
68788 ./src/llvm/lib
65416 ./src/llvm-emscripten/test/CodeGen
62732 ./obj/build/x86_64-unknown-linux-gnu/stage2-tools
61608 ./obj/build/x86_64-unknown-linux-gnu/stage0-rustc/release
---
travis_fold:start:after_failure.4
travis_time:start:058c0a94
$ dmesg | grep -i kill
[   11.432730] init: failsafe main process (1092) killed by TERM signal
[   42.898417] init: plymouth-upstart-bridge main process (509) killed by TERM signal
travis_fold:end:after_failure.4

Done. Your build exited with 1.

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)

Collaborator

rust-highfive commented May 26, 2018

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

Click to expand the log.
[00:51:03] ..........................................................i.........................................
[00:51:07] ....................................................................................................
[00:51:13] ....................................................................................................
[00:51:20] .....................................................................................i..............
[00:51:22] ...iiiiiiiii...................................................
[00:51:22] 
[00:51:22] travis_fold:start:test_ui_nll
travis_time:start:test_ui_nll
Check compiletest suite=ui mode=ui compare_mode=nll (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
---
[00:52:13] ..........................................................i.........................................
[00:52:18] ....................................................................................................
[00:52:23] ....................................................................................................
[00:52:29] .....................................................................................i..............
[00:52:32] ...iiiiiiiii...................................................
[00:52:32] 
[00:52:32]  finished in 69.451
[00:52:32] travis_fold:end:test_ui_nll

---
[01:17:52] 
[01:17:52]    Doc-tests core
[01:18:04] 
[01:18:04] running 1989 tests
[01:18:17] ..........................F.........................................................................
[01:18:49] ....................................................................................................
[01:19:06] .......................i............................................................................
[01:19:18] ....................................................................................................
[01:19:31] ....................................................................................................
---
[01:22:38] ....................................................................................................
[01:22:55] .......................i.................................................................
[01:22:55] failures:
[01:22:55] 
[01:22:55] ---- cell.rs - cell::Cell<T>::from_mut (line 508) stdout ----
[01:22:55] error: expected one of `.`, `;`, `?`, or an operator, found `assert_eq`
[01:22:55]  --> cell.rs:514:1
[01:22:55]   |
[01:22:55] 8 | let slice_cell : &[Cell<i32>] = &cell_slice[..]
[01:22:55]   |                                                - expected one of `.`, `;`, `?`, or an operator here
[01:22:55] 9 | assert_eq!(slice_cell.len(), 3)
[01:22:55]   | ^^^^^^^^^ unexpected token
[01:22:55] thread 'cell.rs - cell::Cell<T>::from_mut (line 508)' panicked at 'couldn't compile the test', librustdoc/test.rs:325:17
[01:22:55] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[01:22:55] 
[01:22:55] 
---
[01:22:55] 
[01:22:55] error: test failed, to rerun pass '--doc'
[01:22:55] 
[01:22:55] 
[01:22: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 jemalloc backtrace" "--manifest-path" "/checkout/src/libstd/Cargo.toml" "-p" "core" "--" "--quiet"
[01:22:55] 
[01:22:55] 
[01:22:55] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:22:55] Build completed unsuccessfully in 0:34:23
[01:22:55] Build completed unsuccessfully in 0:34:23
[01:22:55] Makefile:58: recipe for target 'check' failed
[01:22:55] make: *** [check] Error 1
68788 ./src/llvm/lib
65416 ./src/llvm-emscripten/test/CodeGen
62732 ./obj/build/x86_64-unknown-linux-gnu/stage2-tools
61608 ./obj/build/x86_64-unknown-linux-gnu/stage0-rustc/release
---
travis_fold:start:after_failure.4
travis_time:start:058c0a94
$ dmesg | grep -i kill
[   11.432730] init: failsafe main process (1092) killed by TERM signal
[   42.898417] init: plymouth-upstart-bridge main process (509) killed by TERM signal
travis_fold:end:after_failure.4

Done. Your build exited with 1.

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)

Show outdated Hide outdated src/libcore/cell.rs
Show outdated Hide outdated src/libcore/cell.rs
@rust-highfive

This comment was marked as resolved.

Show comment
Hide comment
@rust-highfive

rust-highfive May 28, 2018

Collaborator

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

Click to expand the log.
[00:41:43] ...............................................................i....................................
[00:41:47] ....................................................................................................
[00:41:52] ....................................................................................................
[00:41:58] ............................................................................................i.......
[00:42:01] ..........iiiiiiiii...................................................
[00:42:01] 
[00:42:01] travis_fold:start:test_ui_nll
travis_time:start:test_ui_nll
Check compiletest suite=ui mode=ui compare_mode=nll (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
---
[00:42:45] ...............................................................i....................................
[00:42:49] ....................................................................................................
[00:42:54] ....................................................................................................
[00:42:59] ............................................................................................i.......
[00:43:02] ..........iiiiiiiii...................................................
[00:43:02] 
[00:43:02]  finished in 61.144
[00:43:02] travis_fold:end:test_ui_nll

---
[01:15:45] travis_fold:end:stage0-linkchecker

[01:15:45] travis_time:end:stage0-linkchecker:start=1527470020256215767,finish=1527470023056243252,duration=2800027485

[01:15:53] std/cell/struct.Cell.html:482: broken link fragment `#method.sort_by_key` pointing to `std/cell/struct.Cell.html`
[01:15:53] std/cell/struct.Cell.html:549: broken link fragment `#method.make_ascii_uppercase` pointing to `std/cell/struct.Cell.html`
[01:15:53] std/cell/struct.Cell.html:554: broken link fragment `#method.make_ascii_lowercase` pointing to `std/cell/struct.Cell.html`
travis_time:end:045c58ca:start=1527470040078201613,finish=1527470040084659399,duration=6457786
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:100d4502

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)

Collaborator

rust-highfive commented May 28, 2018

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

Click to expand the log.
[00:41:43] ...............................................................i....................................
[00:41:47] ....................................................................................................
[00:41:52] ....................................................................................................
[00:41:58] ............................................................................................i.......
[00:42:01] ..........iiiiiiiii...................................................
[00:42:01] 
[00:42:01] travis_fold:start:test_ui_nll
travis_time:start:test_ui_nll
Check compiletest suite=ui mode=ui compare_mode=nll (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
---
[00:42:45] ...............................................................i....................................
[00:42:49] ....................................................................................................
[00:42:54] ....................................................................................................
[00:42:59] ............................................................................................i.......
[00:43:02] ..........iiiiiiiii...................................................
[00:43:02] 
[00:43:02]  finished in 61.144
[00:43:02] travis_fold:end:test_ui_nll

---
[01:15:45] travis_fold:end:stage0-linkchecker

[01:15:45] travis_time:end:stage0-linkchecker:start=1527470020256215767,finish=1527470023056243252,duration=2800027485

[01:15:53] std/cell/struct.Cell.html:482: broken link fragment `#method.sort_by_key` pointing to `std/cell/struct.Cell.html`
[01:15:53] std/cell/struct.Cell.html:549: broken link fragment `#method.make_ascii_uppercase` pointing to `std/cell/struct.Cell.html`
[01:15:53] std/cell/struct.Cell.html:554: broken link fragment `#method.make_ascii_lowercase` pointing to `std/cell/struct.Cell.html`
travis_time:end:045c58ca:start=1527470040078201613,finish=1527470040084659399,duration=6457786
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:100d4502

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)

@F001

This comment has been minimized.

Show comment
Hide comment
@F001

F001 May 28, 2018

Contributor

I have no idea why linkchecker failed. It seems irrelevant to my last commit.

Contributor

F001 commented May 28, 2018

I have no idea why linkchecker failed. It seems irrelevant to my last commit.

Show outdated Hide outdated src/libcore/cell.rs
Show outdated Hide outdated src/libcore/cell.rs
Show outdated Hide outdated src/libcore/cell.rs
@rust-highfive

This comment was marked as outdated.

Show comment
Hide comment
@rust-highfive

rust-highfive May 28, 2018

Collaborator

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

Click to expand the log.
[00:48:49] ................................................................i...................................
[00:48:53] ....................................................................................................
[00:48:59] ....................................................................................................
[00:49:05] .............................................................................................i......
[00:49:08] ...........iiiiiiiii...................................................
[00:49:08] 
[00:49:08] travis_fold:start:test_ui_nll
travis_time:start:test_ui_nll
Check compiletest suite=ui mode=ui compare_mode=nll (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
---
[00:49:56] ................................................................i...................................
[00:50:00] ....................................................................................................
[00:50:06] ....................................................................................................
[00:50:11] .............................................................................................i......
[00:50:14] ............iiiiiiiii..................................................
[00:50:14] 
[00:50:14]  finished in 66.166
[00:50:14] travis_fold:end:test_ui_nll

---
[01:28:06] travis_fold:end:stage0-linkchecker

[01:28:06] travis_time:end:stage0-linkchecker:start=1527494789754596949,finish=1527494792566771763,duration=2812174814

[01:28:14] std/cell/struct.Cell.html:484: broken link fragment `#method.sort_by_key` pointing to `std/cell/struct.Cell.html`
[01:28:14] std/cell/struct.Cell.html:551: broken link fragment `#method.make_ascii_uppercase` pointing to `std/cell/struct.Cell.html`
[01:28:14] std/cell/struct.Cell.html:556: broken link fragment `#method.make_ascii_lowercase` pointing to `std/cell/struct.Cell.html`
[01:28:24] thread 'main' panicked at 'found some broken links', tools/linkchecker/main.rs:49:9
[01:28:24] 
[01:28:24] 
[01:28:24] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/linkchecker" "/checkout/obj/build/x86_64-unknown-linux-gnu/doc"
[01:28:24] expected success, got: exit code: 101
[01:28:24] expected success, got: exit code: 101
[01:28:24] 
[01:28:24] 
[01:28:24] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:28:24] Build completed unsuccessfully in 0:41:58
[01:28:24] make: *** [check] Error 1
[01:28:24] Makefile:58: recipe for target 'check' failed

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:0c6cfbb4
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

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)

Collaborator

rust-highfive commented May 28, 2018

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

Click to expand the log.
[00:48:49] ................................................................i...................................
[00:48:53] ....................................................................................................
[00:48:59] ....................................................................................................
[00:49:05] .............................................................................................i......
[00:49:08] ...........iiiiiiiii...................................................
[00:49:08] 
[00:49:08] travis_fold:start:test_ui_nll
travis_time:start:test_ui_nll
Check compiletest suite=ui mode=ui compare_mode=nll (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
---
[00:49:56] ................................................................i...................................
[00:50:00] ....................................................................................................
[00:50:06] ....................................................................................................
[00:50:11] .............................................................................................i......
[00:50:14] ............iiiiiiiii..................................................
[00:50:14] 
[00:50:14]  finished in 66.166
[00:50:14] travis_fold:end:test_ui_nll

---
[01:28:06] travis_fold:end:stage0-linkchecker

[01:28:06] travis_time:end:stage0-linkchecker:start=1527494789754596949,finish=1527494792566771763,duration=2812174814

[01:28:14] std/cell/struct.Cell.html:484: broken link fragment `#method.sort_by_key` pointing to `std/cell/struct.Cell.html`
[01:28:14] std/cell/struct.Cell.html:551: broken link fragment `#method.make_ascii_uppercase` pointing to `std/cell/struct.Cell.html`
[01:28:14] std/cell/struct.Cell.html:556: broken link fragment `#method.make_ascii_lowercase` pointing to `std/cell/struct.Cell.html`
[01:28:24] thread 'main' panicked at 'found some broken links', tools/linkchecker/main.rs:49:9
[01:28:24] 
[01:28:24] 
[01:28:24] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/linkchecker" "/checkout/obj/build/x86_64-unknown-linux-gnu/doc"
[01:28:24] expected success, got: exit code: 101
[01:28:24] expected success, got: exit code: 101
[01:28:24] 
[01:28:24] 
[01:28:24] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:28:24] Build completed unsuccessfully in 0:41:58
[01:28:24] make: *** [check] Error 1
[01:28:24] Makefile:58: recipe for target 'check' failed

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:0c6cfbb4
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

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)

@rust-highfive

This comment was marked as outdated.

Show comment
Hide comment
@rust-highfive

rust-highfive May 30, 2018

Collaborator

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

Click to expand the log.
[00:45:42] ......................................................................i.............................
[00:45:46] ....................................................................................................
[00:45:52] ....................................................................................................
[00:45:59] ...................................................................................................i
[00:46:02] .................iiiiiiiii...................................................
[00:46:02] 
[00:46:02] travis_fold:start:test_ui_nll
travis_time:start:test_ui_nll
Check compiletest suite=ui mode=ui compare_mode=nll (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
---
[00:46:52] ......................................................................i.............................
[00:46:57] ....................................................................................................
[00:47:02] ....................................................................................................
[00:47:08] ...................................................................................................i
[00:47:11] .................iiiiiiiii...................................................
[00:47:11] 
[00:47:11]  finished in 68.618
[00:47:11] travis_fold:end:test_ui_nll

---
[01:24:19] travis_fold:end:stage0-linkchecker

[01:24:19] travis_time:end:stage0-linkchecker:start=1527689629492990992,finish=1527689632262114331,duration=2769123339

[01:24:27] std/cell/struct.Cell.html:484: broken link fragment `#method.sort_by_key` pointing to `std/cell/struct.Cell.html`
[01:24:27] std/cell/struct.Cell.html:551: broken link fragment `#method.make_ascii_uppercase` pointing to `std/cell/struct.Cell.html`
[01:24:27] std/cell/struct.Cell.html:556: broken link fragment `#method.make_ascii_lowercase` pointing to `std/cell/struct.Cell.html`
[01:24:36] thread 'main' panicked at 'found some broken links', tools/linkchecker/main.rs:49:9
[01:24:36] 
[01:24:36] 
[01:24:36] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/linkchecker" "/checkout/obj/build/x86_64-unknown-linux-gnu/doc"
[01:24:36] expected success, got: exit code: 101
[01:24:36] expected success, got: exit code: 101
[01:24:36] 
[01:24:36] 
[01:24:36] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:24:36] Build completed unsuccessfully in 0:41:17
[01:24:36] make: *** [check] Error 1
[01:24:36] Makefile:58: recipe for target 'check' failed

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:14487498
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
---
151260 ./.git/modules
151256 ./.git/modules/src
149116 ./src/llvm-emscripten/test
123156 ./obj/build/bootstrap/debug/incremental/bootstrap-1r3bppl29tbrj
123152 ./obj/build/bootstrap/debug/incremental/bootstrap-1r3bppl29tbrj/s-f1ionthtlz-1dg93zr-1r74c9muuiiqu
121292 ./obj/build/x86_64-unknown-linu788 ./src/llvm/lib
65412 ./src/llvm-emscripten/test/CodeGen
63888 ./obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps
63728 ./obj/build/x86_64-unknown-linux-gnu/stage2-tools

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)

Collaborator

rust-highfive commented May 30, 2018

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

Click to expand the log.
[00:45:42] ......................................................................i.............................
[00:45:46] ....................................................................................................
[00:45:52] ....................................................................................................
[00:45:59] ...................................................................................................i
[00:46:02] .................iiiiiiiii...................................................
[00:46:02] 
[00:46:02] travis_fold:start:test_ui_nll
travis_time:start:test_ui_nll
Check compiletest suite=ui mode=ui compare_mode=nll (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
---
[00:46:52] ......................................................................i.............................
[00:46:57] ....................................................................................................
[00:47:02] ....................................................................................................
[00:47:08] ...................................................................................................i
[00:47:11] .................iiiiiiiii...................................................
[00:47:11] 
[00:47:11]  finished in 68.618
[00:47:11] travis_fold:end:test_ui_nll

---
[01:24:19] travis_fold:end:stage0-linkchecker

[01:24:19] travis_time:end:stage0-linkchecker:start=1527689629492990992,finish=1527689632262114331,duration=2769123339

[01:24:27] std/cell/struct.Cell.html:484: broken link fragment `#method.sort_by_key` pointing to `std/cell/struct.Cell.html`
[01:24:27] std/cell/struct.Cell.html:551: broken link fragment `#method.make_ascii_uppercase` pointing to `std/cell/struct.Cell.html`
[01:24:27] std/cell/struct.Cell.html:556: broken link fragment `#method.make_ascii_lowercase` pointing to `std/cell/struct.Cell.html`
[01:24:36] thread 'main' panicked at 'found some broken links', tools/linkchecker/main.rs:49:9
[01:24:36] 
[01:24:36] 
[01:24:36] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/linkchecker" "/checkout/obj/build/x86_64-unknown-linux-gnu/doc"
[01:24:36] expected success, got: exit code: 101
[01:24:36] expected success, got: exit code: 101
[01:24:36] 
[01:24:36] 
[01:24:36] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:24:36] Build completed unsuccessfully in 0:41:17
[01:24:36] make: *** [check] Error 1
[01:24:36] Makefile:58: recipe for target 'check' failed

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:14487498
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
---
151260 ./.git/modules
151256 ./.git/modules/src
149116 ./src/llvm-emscripten/test
123156 ./obj/build/bootstrap/debug/incremental/bootstrap-1r3bppl29tbrj
123152 ./obj/build/bootstrap/debug/incremental/bootstrap-1r3bppl29tbrj/s-f1ionthtlz-1dg93zr-1r74c9muuiiqu
121292 ./obj/build/x86_64-unknown-linu788 ./src/llvm/lib
65412 ./src/llvm-emscripten/test/CodeGen
63888 ./obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps
63728 ./obj/build/x86_64-unknown-linux-gnu/stage2-tools

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)

@F001

This comment has been minimized.

Show comment
Hide comment
@F001

F001 Jun 5, 2018

Contributor

@pietroalbini What should I do next? I have no idea how to fix the travis failure.

Contributor

F001 commented Jun 5, 2018

@pietroalbini What should I do next? I have no idea how to fix the travis failure.

@pietroalbini

This comment has been minimized.

Show comment
Hide comment
@pietroalbini

pietroalbini Jun 5, 2018

Member

@F001 that error means there are some broken links in the generated documentation. You should build the docs locally and check the links in the error message.

Member

pietroalbini commented Jun 5, 2018

@F001 that error means there are some broken links in the generated documentation. You should build the docs locally and check the links in the error message.

@rust-highfive

This comment was marked as outdated.

Show comment
Hide comment
@rust-highfive

rust-highfive Jun 5, 2018

Collaborator

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

Click to expand the log.
[00:45:50] ..............................................................................i.....................
[00:45:55] ....................................................................................................
[00:46:01] ....................................................................................................
[00:46:08] ....................................................................................................
[00:46:13] ...........i.................iiiiiiiii...................................................
[00:46:13] 
[00:46:13] travis_fold:start:test_ui_nll
travis_time:start:test_ui_nll
Check compiletest suite=ui mode=ui compare_mode=nll (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
---
[00:47:06] ..............................................................................i.....................
[00:47:11] ....................................................................................................
[00:47:16] ....................................................................................................
[00:47:22] ....................................................................................................
[00:47:27] ...........i.................iiiiiiiii...................................................
[00:47:27] 
[00:47:27]  finished in 74.142
[00:47:27] travis_fold:end:test_ui_nll

---
[01:26:55] travis_fold:end:stage0-linkchecker

[01:26:55] travis_time:end:stage0-linkchecker:start=1528206232535039354,finish=1528206235691055790,duration=3156016436

[01:27:04] std/cell/struct.Cell.html:484: broken link fragment `#method.sort_by_key` pointing to `std/cell/struct.Cell.html`
[01:27:04] std/cell/struct.Cell.html:551: broken link fragment `#method.make_ascii_uppercase` pointing to `std/cell/struct.Cell.html`
[01:27:04] std/cell/struct.Cell.html:556: broken link fragment `#method.make_ascii_lowercase` pointing to `std/cell/struct.Cell.html`
[01:27:13] thread 'main' panicked at 'found some broken links', tools/linkchecker/main.rs:49:9
[01:27:13] 
[01:27:13] 
[01:27:13] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/linkchecker" "/checkout/obj/build/x86_64-unknown-linux-gnu/doc"
[01:27:13] expected success, got: exit code: 101
[01:27:13] expected success, got: exit code: 101
[01:27:13] 
[01:27:13] 
[01:27:13] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:27:13] Build completed unsuccessfully in 0:43:45
[01:27:13] make: *** [check] Error 1
[01:27:13] Makefile:58: recipe for target 'check' failed

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:09e5bbff
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

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)

Collaborator

rust-highfive commented Jun 5, 2018

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

Click to expand the log.
[00:45:50] ..............................................................................i.....................
[00:45:55] ....................................................................................................
[00:46:01] ....................................................................................................
[00:46:08] ....................................................................................................
[00:46:13] ...........i.................iiiiiiiii...................................................
[00:46:13] 
[00:46:13] travis_fold:start:test_ui_nll
travis_time:start:test_ui_nll
Check compiletest suite=ui mode=ui compare_mode=nll (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
---
[00:47:06] ..............................................................................i.....................
[00:47:11] ....................................................................................................
[00:47:16] ....................................................................................................
[00:47:22] ....................................................................................................
[00:47:27] ...........i.................iiiiiiiii...................................................
[00:47:27] 
[00:47:27]  finished in 74.142
[00:47:27] travis_fold:end:test_ui_nll

---
[01:26:55] travis_fold:end:stage0-linkchecker

[01:26:55] travis_time:end:stage0-linkchecker:start=1528206232535039354,finish=1528206235691055790,duration=3156016436

[01:27:04] std/cell/struct.Cell.html:484: broken link fragment `#method.sort_by_key` pointing to `std/cell/struct.Cell.html`
[01:27:04] std/cell/struct.Cell.html:551: broken link fragment `#method.make_ascii_uppercase` pointing to `std/cell/struct.Cell.html`
[01:27:04] std/cell/struct.Cell.html:556: broken link fragment `#method.make_ascii_lowercase` pointing to `std/cell/struct.Cell.html`
[01:27:13] thread 'main' panicked at 'found some broken links', tools/linkchecker/main.rs:49:9
[01:27:13] 
[01:27:13] 
[01:27:13] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/linkchecker" "/checkout/obj/build/x86_64-unknown-linux-gnu/doc"
[01:27:13] expected success, got: exit code: 101
[01:27:13] expected success, got: exit code: 101
[01:27:13] 
[01:27:13] 
[01:27:13] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:27:13] Build completed unsuccessfully in 0:43:45
[01:27:13] make: *** [check] Error 1
[01:27:13] Makefile:58: recipe for target 'check' failed

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:09e5bbff
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

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)

@rust-highfive

This comment was marked as outdated.

Show comment
Hide comment
@rust-highfive

rust-highfive Jun 6, 2018

Collaborator

The job x86_64-gnu-llvm-3.9 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.
/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
  Downloading https://files.pythonhosted.org/packages/5f/86/363f1249d0b62d7cce3cb8973fb6715b57ca75f8425d6c45fe5e129531a9/awscli-1.15.33-py2.py3-none-any.whl (1.3MB)
    0% |▎                               | 10kB 19.2MB/s eta 0:00:01
    1% |▌                               | 20kB 1.6MB/s eta 0:00:01
    2% |▉                               | 30kB 1.9MB/s eta 0:00:01
    3% |█                               | 40kB 1.7MB/s eta 0:00:01

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)

Collaborator

rust-highfive commented Jun 6, 2018

The job x86_64-gnu-llvm-3.9 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.
/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
  Downloading https://files.pythonhosted.org/packages/5f/86/363f1249d0b62d7cce3cb8973fb6715b57ca75f8425d6c45fe5e129531a9/awscli-1.15.33-py2.py3-none-any.whl (1.3MB)
    0% |▎                               | 10kB 19.2MB/s eta 0:00:01
    1% |▌                               | 20kB 1.6MB/s eta 0:00:01
    2% |▉                               | 30kB 1.9MB/s eta 0:00:01
    3% |█                               | 40kB 1.7MB/s eta 0:00:01

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)

@rust-highfive

This comment was marked as outdated.

Show comment
Hide comment
@rust-highfive

rust-highfive Jun 6, 2018

Collaborator

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

Click to expand the log.
[00:43:30] i..............................................................................i....................
[00:43:35] ....................................................................................................
[00:43:40] ....................................................................................................
[00:43:46] ....................................................................................................
[00:43:50] ............i.................iiiiiiiii...................................................
[00:43:50] 
[00:43:50] travis_fold:start:test_ui_nll
travis_time:start:test_ui_nll
Check compiletest suite=ui mode=ui compare_mode=nll (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
---
[00:44:38] i..............................................................................i....................
[00:44:43] ....................................................................................................
[00:44:48] ....................................................................................................
[00:44:53] ....................................................................................................
[00:44:57] ............i.................iiiiiiiii...................................................
[00:44:57] 
[00:44:57]  finished in 67.009
[00:44:57] travis_fold:end:test_ui_nll

---
[01:21:50] travis_fold:end:stage0-linkchecker

[01:21:50] travis_time:end:stage0-linkchecker:start=1528268428979069727,finish=1528268431896076812,duration=2917007085

[01:21:50] std/primitive.slice.html:931: broken link - /checkout/obj/build/x86_64-unknown-linux-gnu/std/primitive.slice.html
[01:21:50] std/primitive.slice.html:979: broken link - /checkout/obj/build/x86_64-unknown-linux-gnu/std/primitive.slice.html
[01:21:50] std/primitive.slice.html:984: broken link - /checkout/obj/build/x86_64-unknown-linux-gnu/std/primitive.slice.html
[01:21:58] std/cell/struct.Cell.html:484: broken link fragment `#method.sort_by_key` pointing to `std/cell/struct.Cell.html`
[01:22:07] thread 'main' panicked at 'found some broken links', tools/linkchecker/main.rs:49:9
[01:22:07] 
[01:22:07] 
[01:22:07] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/linkchecker" "/checkout/obj/build/x86_64-unknown-linux-gnu/doc"
[01:22:07] expected success, got: exit code: 101
[01:22:07] expected success, got: exit code: 101
[01:22:07] 
[01:22:07] 
[01:22:07] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:22:07] Build completed unsuccessfully in 0:40:50
[01:22:07] Makefile:58: recipe for target 'check' failed
[01:22:07] make: *** [check] Error 1

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:0a1b44af
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

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)

Collaborator

rust-highfive commented Jun 6, 2018

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

Click to expand the log.
[00:43:30] i..............................................................................i....................
[00:43:35] ....................................................................................................
[00:43:40] ....................................................................................................
[00:43:46] ....................................................................................................
[00:43:50] ............i.................iiiiiiiii...................................................
[00:43:50] 
[00:43:50] travis_fold:start:test_ui_nll
travis_time:start:test_ui_nll
Check compiletest suite=ui mode=ui compare_mode=nll (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
---
[00:44:38] i..............................................................................i....................
[00:44:43] ....................................................................................................
[00:44:48] ....................................................................................................
[00:44:53] ....................................................................................................
[00:44:57] ............i.................iiiiiiiii...................................................
[00:44:57] 
[00:44:57]  finished in 67.009
[00:44:57] travis_fold:end:test_ui_nll

---
[01:21:50] travis_fold:end:stage0-linkchecker

[01:21:50] travis_time:end:stage0-linkchecker:start=1528268428979069727,finish=1528268431896076812,duration=2917007085

[01:21:50] std/primitive.slice.html:931: broken link - /checkout/obj/build/x86_64-unknown-linux-gnu/std/primitive.slice.html
[01:21:50] std/primitive.slice.html:979: broken link - /checkout/obj/build/x86_64-unknown-linux-gnu/std/primitive.slice.html
[01:21:50] std/primitive.slice.html:984: broken link - /checkout/obj/build/x86_64-unknown-linux-gnu/std/primitive.slice.html
[01:21:58] std/cell/struct.Cell.html:484: broken link fragment `#method.sort_by_key` pointing to `std/cell/struct.Cell.html`
[01:22:07] thread 'main' panicked at 'found some broken links', tools/linkchecker/main.rs:49:9
[01:22:07] 
[01:22:07] 
[01:22:07] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/linkchecker" "/checkout/obj/build/x86_64-unknown-linux-gnu/doc"
[01:22:07] expected success, got: exit code: 101
[01:22:07] expected success, got: exit code: 101
[01:22:07] 
[01:22:07] 
[01:22:07] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:22:07] Build completed unsuccessfully in 0:40:50
[01:22:07] Makefile:58: recipe for target 'check' failed
[01:22:07] make: *** [check] Error 1

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:0a1b44af
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

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)

@SimonSapin SimonSapin changed the title from Implement rfc 1789 to Implement rfc 1789: Conversions from `&mut T` to `&Cell<T>` Jun 6, 2018

@rust-highfive

This comment has been minimized.

Show comment
Hide comment
@rust-highfive

rust-highfive Jun 6, 2018

Collaborator

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

Click to expand the log.
[00:42:33] i..............................................................................i....................
[00:42:38] ....................................................................................................
[00:42:44] ....................................................................................................
[00:42:50] ....................................................................................................
[00:42:54] ............i.................iiiiiiiii...................................................
[00:42:54] 
[00:42:54] travis_fold:start:test_ui_nll
travis_time:start:test_ui_nll
Check compiletest suite=ui mode=ui compare_mode=nll (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
---
[00:43:44] i..............................................................................i....................
[00:43:48] ....................................................................................................
[00:43:53] ....................................................................................................
[00:43:59] ....................................................................................................
[00:44:03] ............i.................iiiiiiiii...................................................
[00:44:03] 
[00:44:03]  finished in 68.873
[00:44:03] travis_fold:end:test_ui_nll

---
[01:20:17] travis_fold:end:stage0-linkchecker

[01:20:17] travis_time:end:stage0-linkchecker:start=1528280150197190677,finish=1528280152970294814,duration=2773104137

[01:20:24] std/vec/struct.Vec.html:1652: broken link - std/std/primitive.slice.html
[01:20:24] std/vec/struct.Vec.html:1690: broken link - std/std/primitive.slice.html
[01:20:24] std/vec/struct.Vec.html:1695: broken link - std/std/primitive.slice.html
[01:20:25] std/cell/struct.Cell.html:484: broken link fragment `#method.sort_by_key` pointing to `std/cell/struct.Cell.html`
[01:20:25] std/cell/struct.Cell.html:551: broken link - std/std/primitive.slice.html
[01:20:25] std/cell/struct.Cell.html:556: broken link - std/std/primitive.slice.html
[01:20:33] thread 'main' panicked at 'found some broken links', tools/linkchecker/main.rs:49:9
[01:20:33] 
[01:20:33] 
[01:20:33] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/linkchecker" "/checkout/obj/build/x86_64-unknown-linux-gnu/doc"
[01:20:33] expected success, got: exit code: 101
[01:20:33] expected success, got: exit code: 101
[01:20:33] 
[01:20:33] 
[01:20:33] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:20:33] Build completed unsuccessfully in 0:40:11
[01:20:33] Makefile:58: recipe for target 'check' failed
[01:20:33] make: *** [check] Error 1

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:211a1492
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

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)

Collaborator

rust-highfive commented Jun 6, 2018

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

Click to expand the log.
[00:42:33] i..............................................................................i....................
[00:42:38] ....................................................................................................
[00:42:44] ....................................................................................................
[00:42:50] ....................................................................................................
[00:42:54] ............i.................iiiiiiiii...................................................
[00:42:54] 
[00:42:54] travis_fold:start:test_ui_nll
travis_time:start:test_ui_nll
Check compiletest suite=ui mode=ui compare_mode=nll (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
---
[00:43:44] i..............................................................................i....................
[00:43:48] ....................................................................................................
[00:43:53] ....................................................................................................
[00:43:59] ....................................................................................................
[00:44:03] ............i.................iiiiiiiii...................................................
[00:44:03] 
[00:44:03]  finished in 68.873
[00:44:03] travis_fold:end:test_ui_nll

---
[01:20:17] travis_fold:end:stage0-linkchecker

[01:20:17] travis_time:end:stage0-linkchecker:start=1528280150197190677,finish=1528280152970294814,duration=2773104137

[01:20:24] std/vec/struct.Vec.html:1652: broken link - std/std/primitive.slice.html
[01:20:24] std/vec/struct.Vec.html:1690: broken link - std/std/primitive.slice.html
[01:20:24] std/vec/struct.Vec.html:1695: broken link - std/std/primitive.slice.html
[01:20:25] std/cell/struct.Cell.html:484: broken link fragment `#method.sort_by_key` pointing to `std/cell/struct.Cell.html`
[01:20:25] std/cell/struct.Cell.html:551: broken link - std/std/primitive.slice.html
[01:20:25] std/cell/struct.Cell.html:556: broken link - std/std/primitive.slice.html
[01:20:33] thread 'main' panicked at 'found some broken links', tools/linkchecker/main.rs:49:9
[01:20:33] 
[01:20:33] 
[01:20:33] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/linkchecker" "/checkout/obj/build/x86_64-unknown-linux-gnu/doc"
[01:20:33] expected success, got: exit code: 101
[01:20:33] expected success, got: exit code: 101
[01:20:33] 
[01:20:33] 
[01:20:33] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:20:33] Build completed unsuccessfully in 0:40:11
[01:20:33] Makefile:58: recipe for target 'check' failed
[01:20:33] make: *** [check] Error 1

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:211a1492
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

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)

@F001

This comment has been minimized.

Show comment
Hide comment
@F001

F001 Jun 6, 2018

Contributor

@pietroalbini Finally, link error is fixed.Please help to remove "waiting on author" label.

Contributor

F001 commented Jun 6, 2018

@pietroalbini Finally, link error is fixed.Please help to remove "waiting on author" label.

@eddyb

This comment has been minimized.

Show comment
Hide comment
@eddyb

eddyb Jun 7, 2018

Member

@F001 (continuing from #50494 (comment)) I don't think the current solution for the links is acceptable, we shouldn't hardcode URLs like that. Isn't this a problem elsewhere already? Vec<T> also derefs to [T].

In fact, I just checked the docs for Vec<T> and they just... work fine?
It links to the method on the same page - which is good, because it's there.
Can you revert all changes to the file, so we can see what happens then?

Member

eddyb commented Jun 7, 2018

@F001 (continuing from #50494 (comment)) I don't think the current solution for the links is acceptable, we shouldn't hardcode URLs like that. Isn't this a problem elsewhere already? Vec<T> also derefs to [T].

In fact, I just checked the docs for Vec<T> and they just... work fine?
It links to the method on the same page - which is good, because it's there.
Can you revert all changes to the file, so we can see what happens then?

@F001

This comment has been minimized.

Show comment
Hide comment
@F001

F001 Jun 7, 2018

Contributor

@eddyb Agreed. The hardcode URL is not a good solution.

The main difference is that, we implemented DerefMut for Vec, but not for Cell<[T]>. So the method binary_search_by_key appears in Cell's document, whereas sort_by_key does not. This is why relative link in binary_search_by_key's doc is a dead link.
This link will appear in both pages in Cell.html and slice.html, but only one of them contains the target method, so it is not possible to use a relative path to make it work.

I don't know whether it is sound to impl DerefMut for Cell<[T]>.

I am not satisfied to use a full path either. I'll revert this change and find a better way to solve it later. Thanks!

Contributor

F001 commented Jun 7, 2018

@eddyb Agreed. The hardcode URL is not a good solution.

The main difference is that, we implemented DerefMut for Vec, but not for Cell<[T]>. So the method binary_search_by_key appears in Cell's document, whereas sort_by_key does not. This is why relative link in binary_search_by_key's doc is a dead link.
This link will appear in both pages in Cell.html and slice.html, but only one of them contains the target method, so it is not possible to use a relative path to make it work.

I don't know whether it is sound to impl DerefMut for Cell<[T]>.

I am not satisfied to use a full path either. I'll revert this change and find a better way to solve it later. Thanks!

@bors

This comment has been minimized.

Show comment
Hide comment
@bors

bors Jul 4, 2018

Contributor

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

Contributor

bors commented Jul 4, 2018

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

@F001

This comment has been minimized.

Show comment
Hide comment
@F001

F001 Jul 7, 2018

Contributor

@stokhos Conflict has been resolved. Could you please help to remove "s-waiting-on-author" lable?

Contributor

F001 commented Jul 7, 2018

@stokhos Conflict has been resolved. Could you please help to remove "s-waiting-on-author" lable?

@alexcrichton

This comment has been minimized.

Show comment
Hide comment
@alexcrichton

alexcrichton Jul 12, 2018

Member

Ok! This was discussed during the @rust-lang/libs meeting yesterday and the conclusion was that we'd like to avoid the Deref implementation as we can't gate them through the stability system but otherwise this looks good to go! @F001 mind switching those to methods or functions on Cell and we should then be able to merge?

Member

alexcrichton commented Jul 12, 2018

Ok! This was discussed during the @rust-lang/libs meeting yesterday and the conclusion was that we'd like to avoid the Deref implementation as we can't gate them through the stability system but otherwise this looks good to go! @F001 mind switching those to methods or functions on Cell and we should then be able to merge?

@eddyb

This comment has been minimized.

Show comment
Hide comment
@eddyb

eddyb Jul 12, 2018

Member

@alexcrichton the Deref impls supersede the less ergonomic Cell::from_mut_slice from the RFC.
We could keep just the uncontroversial Cell::from_mut method in the PR, and not add anything for being able to convert &Cell<[T]> (from &mut [T]) into &[Cell<T>].

I highly prefer Deref, but even with a dedicated method, I'd still rather have that step of "moving the Cell inward" remain orthogonal from "turning a &mut T into a &Cell<T>".

Member

eddyb commented Jul 12, 2018

@alexcrichton the Deref impls supersede the less ergonomic Cell::from_mut_slice from the RFC.
We could keep just the uncontroversial Cell::from_mut method in the PR, and not add anything for being able to convert &Cell<[T]> (from &mut [T]) into &[Cell<T>].

I highly prefer Deref, but even with a dedicated method, I'd still rather have that step of "moving the Cell inward" remain orthogonal from "turning a &mut T into a &Cell<T>".

@alexcrichton

This comment has been minimized.

Show comment
Hide comment
@alexcrichton

alexcrichton Jul 12, 2018

Member

@eddyb indeed yeah, but we felt that the Deref was a bit too magical to stabilize right now. If we move it to a standalone method we may later decide to stabilize as Deref still, it's basically just preserving the functionality to test it.

Member

alexcrichton commented Jul 12, 2018

@eddyb indeed yeah, but we felt that the Deref was a bit too magical to stabilize right now. If we move it to a standalone method we may later decide to stabilize as Deref still, it's basically just preserving the functionality to test it.

@eddyb

This comment has been minimized.

Show comment
Hide comment
@eddyb

eddyb Jul 13, 2018

Member

If it's an unstable-only method, I'd suggest as_slice_of_cells.

Member

eddyb commented Jul 13, 2018

If it's an unstable-only method, I'd suggest as_slice_of_cells.

@rust-highfive

This comment was marked as resolved.

Show comment
Hide comment
@rust-highfive

rust-highfive Jul 18, 2018

Collaborator

The job x86_64-gnu-llvm-5.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.
[00:57:58] 
[00:57:58]    Doc-tests core
[00:58:04] 
[00:58:04] running 2097 tests
[00:58:11] ..............................F.....................................................................
[00:58:27] ....................................................................................................
[00:58:35] ..................................i.................................................................
[00:58:42] ....................................................................................................
[00:58:49] ....................................................................................................

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)

Collaborator

rust-highfive commented Jul 18, 2018

The job x86_64-gnu-llvm-5.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.
[00:57:58] 
[00:57:58]    Doc-tests core
[00:58:04] 
[00:58:04] running 2097 tests
[00:58:11] ..............................F.....................................................................
[00:58:27] ....................................................................................................
[00:58:35] ..................................i.................................................................
[00:58:42] ....................................................................................................
[00:58:49] ....................................................................................................

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)

@F001

This comment has been minimized.

Show comment
Hide comment
@F001

F001 Jul 23, 2018

Contributor

@alexcrichton I have replaced the "Deref" by "Index". Could you please help to do the review?

Contributor

F001 commented Jul 23, 2018

@alexcrichton I have replaced the "Deref" by "Index". Could you please help to do the review?

@SimonSapin

This comment has been minimized.

Show comment
Hide comment
@SimonSapin

SimonSapin Jul 23, 2018

Contributor

@F001 I believe the objection was not about a trait v.s. another trait but having a trait impl that becomes stable as soon as this PR lands, rather an inherent method that is #[unstable] for now.

Contributor

SimonSapin commented Jul 23, 2018

@F001 I believe the objection was not about a trait v.s. another trait but having a trait impl that becomes stable as soon as this PR lands, rather an inherent method that is #[unstable] for now.

@rust-highfive

This comment was marked as resolved.

Show comment
Hide comment
@rust-highfive

rust-highfive Jul 23, 2018

Collaborator

The job x86_64-gnu-llvm-5.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.
[00:03:45]    Compiling build_helper v0.1.0 (file:///checkout/src/build_helper)
[00:03:48] warning: unused import: `Index`
[00:03:48]    --> libcore/cell.rs:203:43
[00:03:48]     |
[00:03:48] 203 | use ops::{Deref, DerefMut, CoerceUnsized, Index};
[00:03:48]     |
[00:03:48]     = note: #[warn(unused_imports)] on by default
[00:03:48] 
[00:03:51]    Compiling compiler_builtins v0.0.0 (file:///checkout/src/rustc/compiler_builtins_shim)
[00:03:51]    Compiling compiler_builtins v0.0.0 (file:///checkout/src/rustc/compiler_builtins_shim)
[00:03:51]    Compiling cmake v0.1.31
[00:03:51]    Compiling alloc_jemalloc v0.0.0 (file:///checkout/src/liballoc_jemalloc)
[00:03:54]    Compiling std v0.0.0 (file:///checkout/src/libstd)
[00:03:56]    Compiling rustc_tsan v0.0.0 (file:///checkout/src/librustc_tsan)
[00:03:57]    Compiling rustc_lsan v0.0.0 (file:///checkout/src/librustc_lsan)
[00:03:57]    Compiling rustc_msan v0.0.0 (file:///checkout/src/librustc_msan)
[00:03:58]    Compiling rustc_asan v0.0.0 (file:///checkout/src/librustc_asan)
[00:03:59] warning: unused import: `slice::SliceIndex`
[00:03:59]    --> libcore/cell.rs:205:5
[00:03:59] 205 | use slice::SliceIndex;
[00:03:59]     |     ^^^^^^^^^^^^^^^^^
[00:03:59] 
[00:04:10]    Compiling libc v0.0.0 (file:///checkout/src/rustc/libc_shim)
---
[00:18:05]    Compiling alloc_jemalloc v0.0.0 (file:///checkout/src/liballoc_jemalloc)
[00:18:06] error: unused import: `Index`
[00:18:06]    --> libcore/cell.rs:203:43
[00:18:06]     |
[00:18:06] 203 | use ops::{Deref, DerefMut, CoerceUnsized, Index};
[00:18:06]     |
[00:18:06]     = note: `-D unused-imports` implied by `-D warnings`
[00:18:06] 
[00:18:08]    Compiling std v0.0.0 (file:///checkout/src/libstd)
---
[00:18:22] Caused by:
[00:18:22]   process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --crate-name core libcore/lib.rs --color always --error-format json --crate-type lib --emit=dep-info,link -C opt-level=2 -C metadata=1cbcabaa1ea822b5 -C extra-filename=-1cbcabaa1ea822b5 --out-dir /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/release/deps` (exit code: 1)
[00:18:22] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-gnu" "-j" "4" "--release" "--locked" "--color" "always" "--features" "panic-unwind jemalloc backtrace" "--manifest-path" "/checkout/src/libstd/Cargo.toml" "--message-format" "json"
[00:18:22] expected success, got: exit code: 101
[00:18:22] thread 'main' panicked at 'cargo must succeed', bootstrap/compile.rs:1119:9
[00:18:22] travis_fold:end:stage1-std

[00:18:22] travis_time:end:stage1-std:start=1532346237618886413,finish=1532346260203783925,duration=22584897512


[00:18:22] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap build
[00:18:22] Build completed unsuccessfully in 0:14:38
[00:18:22] Makefile:28: recipe for target 'all' failed
[00:18:22] make: *** [all] Error 1

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:1928662a
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
---
travis_time:end:2d58ba6e:start=1532346260811790925,finish=1532346260820088799,duration=8297874
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:15b96af3
$ 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 -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:0671553c
travis_time:start:0671553c
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-

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)

Collaborator

rust-highfive commented Jul 23, 2018

The job x86_64-gnu-llvm-5.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.
[00:03:45]    Compiling build_helper v0.1.0 (file:///checkout/src/build_helper)
[00:03:48] warning: unused import: `Index`
[00:03:48]    --> libcore/cell.rs:203:43
[00:03:48]     |
[00:03:48] 203 | use ops::{Deref, DerefMut, CoerceUnsized, Index};
[00:03:48]     |
[00:03:48]     = note: #[warn(unused_imports)] on by default
[00:03:48] 
[00:03:51]    Compiling compiler_builtins v0.0.0 (file:///checkout/src/rustc/compiler_builtins_shim)
[00:03:51]    Compiling compiler_builtins v0.0.0 (file:///checkout/src/rustc/compiler_builtins_shim)
[00:03:51]    Compiling cmake v0.1.31
[00:03:51]    Compiling alloc_jemalloc v0.0.0 (file:///checkout/src/liballoc_jemalloc)
[00:03:54]    Compiling std v0.0.0 (file:///checkout/src/libstd)
[00:03:56]    Compiling rustc_tsan v0.0.0 (file:///checkout/src/librustc_tsan)
[00:03:57]    Compiling rustc_lsan v0.0.0 (file:///checkout/src/librustc_lsan)
[00:03:57]    Compiling rustc_msan v0.0.0 (file:///checkout/src/librustc_msan)
[00:03:58]    Compiling rustc_asan v0.0.0 (file:///checkout/src/librustc_asan)
[00:03:59] warning: unused import: `slice::SliceIndex`
[00:03:59]    --> libcore/cell.rs:205:5
[00:03:59] 205 | use slice::SliceIndex;
[00:03:59]     |     ^^^^^^^^^^^^^^^^^
[00:03:59] 
[00:04:10]    Compiling libc v0.0.0 (file:///checkout/src/rustc/libc_shim)
---
[00:18:05]    Compiling alloc_jemalloc v0.0.0 (file:///checkout/src/liballoc_jemalloc)
[00:18:06] error: unused import: `Index`
[00:18:06]    --> libcore/cell.rs:203:43
[00:18:06]     |
[00:18:06] 203 | use ops::{Deref, DerefMut, CoerceUnsized, Index};
[00:18:06]     |
[00:18:06]     = note: `-D unused-imports` implied by `-D warnings`
[00:18:06] 
[00:18:08]    Compiling std v0.0.0 (file:///checkout/src/libstd)
---
[00:18:22] Caused by:
[00:18:22]   process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --crate-name core libcore/lib.rs --color always --error-format json --crate-type lib --emit=dep-info,link -C opt-level=2 -C metadata=1cbcabaa1ea822b5 -C extra-filename=-1cbcabaa1ea822b5 --out-dir /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/release/deps` (exit code: 1)
[00:18:22] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-gnu" "-j" "4" "--release" "--locked" "--color" "always" "--features" "panic-unwind jemalloc backtrace" "--manifest-path" "/checkout/src/libstd/Cargo.toml" "--message-format" "json"
[00:18:22] expected success, got: exit code: 101
[00:18:22] thread 'main' panicked at 'cargo must succeed', bootstrap/compile.rs:1119:9
[00:18:22] travis_fold:end:stage1-std

[00:18:22] travis_time:end:stage1-std:start=1532346237618886413,finish=1532346260203783925,duration=22584897512


[00:18:22] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap build
[00:18:22] Build completed unsuccessfully in 0:14:38
[00:18:22] Makefile:28: recipe for target 'all' failed
[00:18:22] make: *** [all] Error 1

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:1928662a
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
---
travis_time:end:2d58ba6e:start=1532346260811790925,finish=1532346260820088799,duration=8297874
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:15b96af3
$ 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 -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:0671553c
travis_time:start:0671553c
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-

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)

@alexcrichton

This comment has been minimized.

Show comment
Hide comment
@alexcrichton

alexcrichton Jul 23, 2018

Member

@bors: r+

Thanks @F001!

Member

alexcrichton commented Jul 23, 2018

@bors: r+

Thanks @F001!

@bors

This comment has been minimized.

Show comment
Hide comment
@bors

bors Jul 23, 2018

Contributor

📌 Commit 489101c has been approved by alexcrichton

Contributor

bors commented Jul 23, 2018

📌 Commit 489101c has been approved by alexcrichton

@bors

This comment has been minimized.

Show comment
Hide comment
@bors

bors Jul 23, 2018

Contributor

⌛️ Testing commit 489101c with merge 00204c2...

Contributor

bors commented Jul 23, 2018

⌛️ Testing commit 489101c with merge 00204c2...

bors added a commit that referenced this pull request Jul 23, 2018

Auto merge of #50494 - F001:as_cell, r=alexcrichton
Implement rfc 1789: Conversions from `&mut T` to `&Cell<T>`

I'm surprised that RFC 1789 has not been implemented for several months. Tracking issue: #43038

Please note: when I was writing tests for `&Cell<[i32]>`, I found it is not easy to get the length of the contained slice. So I designed a `get_with` method which might be useful for similar cases. This method is not designed in the RFC, and it certainly needs to be reviewed by core team. I think it has some connections with `Cell::update` #50186 , which is also in design phase.
@bors

This comment has been minimized.

Show comment
Hide comment
@bors

bors Jul 23, 2018

Contributor

☀️ Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing 00204c2 to master...

Contributor

bors commented Jul 23, 2018

☀️ Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing 00204c2 to master...

@bors bors merged commit 489101c into rust-lang:master Jul 23, 2018

2 checks passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
homu Test successful
Details

@F001 F001 deleted the F001:as_cell branch Aug 28, 2018

netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Sep 14, 2018

rust: Update to 1.29.0.
Version 1.29.0 (2018-09-13)
==========================

Compiler
--------
- [Bumped minimum LLVM version to 5.0.][51899]
- [Added `powerpc64le-unknown-linux-musl` target.][51619]
- [Added `aarch64-unknown-hermit` and `x86_64-unknown-hermit` targets.][52861]

Libraries
---------
- [`Once::call_once` now no longer requires `Once` to be `'static`.][52239]
- [`BuildHasherDefault` now implements `PartialEq` and `Eq`.][52402]
- [`Box<CStr>`, `Box<OsStr>`, and `Box<Path>` now implement `Clone`.][51912]
- [Implemented `PartialEq<&str>` for `OsString` and `PartialEq<OsString>`
  for `&str`.][51178]
- [`Cell<T>` now allows `T` to be unsized.][50494]
- [`SocketAddr` is now stable on Redox.][52656]

Stabilized APIs
---------------
- [`Arc::downcast`]
- [`Iterator::flatten`]
- [`Rc::downcast`]

Cargo
-----
- [Cargo can silently fix some bad lockfiles ][cargo/5831] You can use
  `--locked` to disable this behaviour.
- [`cargo-install` will now allow you to cross compile an install
  using `--target`][cargo/5614]
- [Added the `cargo-fix` subcommand to automatically move project code from
  2015 edition to 2018.][cargo/5723]

Misc
----
- [`rustdoc` now has the `--cap-lints` option which demotes all lints above
  the specified level to that level.][52354] For example `--cap-lints warn`
  will demote `deny` and `forbid` lints to `warn`.
- [`rustc` and `rustdoc` will now have the exit code of `1` if compilation
  fails, and `101` if there is a panic.][52197]
- [A preview of clippy has been made available through rustup.][51122]
  You can install the preview with `rustup component add clippy-preview`

Compatibility Notes
-------------------
- [`str::{slice_unchecked, slice_unchecked_mut}` are now deprecated.][51807]
  Use `str::get_unchecked(begin..end)` instead.
- [`std::env::home_dir` is now deprecated for its unintuitive behaviour.][51656]
  Consider using the `home_dir` function from
  https://crates.io/crates/dirs instead.
- [`rustc` will no longer silently ignore invalid data in target spec.][52330]

[52861]: rust-lang/rust#52861
[52656]: rust-lang/rust#52656
[52239]: rust-lang/rust#52239
[52330]: rust-lang/rust#52330
[52354]: rust-lang/rust#52354
[52402]: rust-lang/rust#52402
[52103]: rust-lang/rust#52103
[52197]: rust-lang/rust#52197
[51807]: rust-lang/rust#51807
[51899]: rust-lang/rust#51899
[51912]: rust-lang/rust#51912
[51511]: rust-lang/rust#51511
[51619]: rust-lang/rust#51619
[51656]: rust-lang/rust#51656
[51178]: rust-lang/rust#51178
[51122]: rust-lang/rust#51122
[50494]: rust-lang/rust#50494
[cargo/5614]: rust-lang/cargo#5614
[cargo/5723]: rust-lang/cargo#5723
[cargo/5831]: rust-lang/cargo#5831
[`Arc::downcast`]: https://doc.rust-lang.org/std/sync/struct.Arc.html#method.downcast
[`Iterator::flatten`]: https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.flatten
[`Rc::downcast`]: https://doc.rust-lang.org/std/rc/struct.Rc.html#method.downcast
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment