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

Require a list of features in #[allow_internal_unstable] #58098

Merged
merged 13 commits into from
Feb 12, 2019

Conversation

oli-obk
Copy link
Contributor

@oli-obk oli-obk commented Feb 3, 2019

The blanket-permission slip is not great and will likely give us trouble some point down the road.

@rust-highfive
Copy link
Collaborator

r? @petrochenkov

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

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Feb 3, 2019
@rust-highfive
Copy link
Collaborator

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

Click to expand the log.
travis_time:end:048b05d5:start=1549199867996728845,finish=1549199868970358857,duration=973630012
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0
---
[00:26:03]    Compiling alloc v0.0.0 (/checkout/src/liballoc)
[00:26:03]    Compiling rustc-demangle v0.1.10
[00:26:03]    Compiling panic_abort v0.0.0 (/checkout/src/libpanic_abort)
[00:26:09]    Compiling panic_unwind v0.0.0 (/checkout/src/libpanic_unwind)
[00:26:10] warning: allow_internal_unstable expects list of feature names. In the future this will become a hard error. Please use `allow_internal_unstable(foo, bar)` to only allow the `foo` and `bar` features
[00:26:10]   --> src/libstd/../stdsimd/crates/std_detect/src/detect/arch/x86.rs:82:1
[00:26:10] 82 | #[allow_internal_unstable]
[00:26:10]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[00:26:10] 
[00:26:29]     Finished release [optimized] target(s) in 1m 09s
---
[00:27:34]    Compiling rls-data v0.18.1
[00:27:34] error[E0658]: use of unstable library feature 'libstd_sys_internals': used by the panic! macro
[00:27:34]    --> /cargo/registry/src/github.com-1ecc6299db9ec823/rls-data-0.18.1/src/lib.rs:168:48
[00:27:34]     |
[00:27:34] 168 | #[cfg_attr(feature = "serialize-rustc", derive(RustcDecodable, RustcEncodable))]
[00:27:34]     |
[00:27:34]     = help: add #![feature(libstd_sys_internals)] to the crate attributes to enable
[00:27:34] 
[00:27:34] error[E0658]: use of unstable library feature 'libstd_sys_internals': used by the panic! macro
[00:27:34] error[E0658]: use of unstable library feature 'libstd_sys_internals': used by the panic! macro
[00:27:34]    --> /cargo/registry/src/github.com-1ecc6299db9ec823/rls-data-0.18.1/src/lib.rs:195:48
[00:27:34]     |
[00:27:34] 195 | #[cfg_attr(feature = "serialize-rustc", derive(RustcDecodable, RustcEncodable))]
[00:27:34]     |
[00:27:34]     = help: add #![feature(libstd_sys_internals)] to the crate attributes to enable
[00:27:34] 
[00:27:34] error[E0658]: use of unstable library feature 'libstd_sys_internals': used by the panic! macro
[00:27:34] error[E0658]: use of unstable library feature 'libstd_sys_internals': used by the panic! macro
[00:27:34]    --> /cargo/registry/src/github.com-1ecc6299db9ec823/rls-data-0.18.1/src/lib.rs:248:48
[00:27:34]     |
[00:27:34] 248 | #[cfg_attr(feature = "serialize-rustc", derive(RustcDecodable, RustcEncodable))]
[00:27:34]     |
[00:27:34]     = help: add #![feature(libstd_sys_internals)] to the crate attributes to enable
[00:27:34] 
[00:27:34] error[E0658]: use of unstable library feature 'libstd_sys_internals': used by the panic! macro
[00:27:34] error[E0658]: use of unstable library feature 'libstd_sys_internals': used by the panic! macro
[00:27:34]    --> /cargo/registry/src/github.com-1ecc6299db9ec823/rls-data-0.18.1/src/lib.rs:284:48
[00:27:34]     |
[00:27:34] 284 | #[cfg_attr(feature = "serialize-rustc", derive(RustcDecodable, RustcEncodable))]
[00:27:34]     |
[00:27:34]     = help: add #![feature(libstd_sys_internals)] to the crate attributes to enable
[00:27:34] 
[00:27:34] error[E0658]: use of unstable library feature 'libstd_sys_internals': used by the panic! macro
[00:27:34] error[E0658]: use of unstable library feature 'libstd_sys_internals': used by the panic! macro
[00:27:34]    --> /cargo/registry/src/github.com-1ecc6299db9ec823/rls-data-0.18.1/src/lib.rs:313:48
[00:27:34]     |
[00:27:34] 313 | #[cfg_attr(feature = "serialize-rustc", derive(RustcDecodable, RustcEncodable))]
[00:27:34]     |
[00:27:34]     = help: add #![feature(libstd_sys_internals)] to the crate attributes to enable
[00:27:34] 
[00:27:34] error: aborting due to 5 previous errors
---
[00:27:34] 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" "" "--manifest-path" "/checkout/src/rustc/Cargo.toml" "--message-format" "json"
[00:27:34] expected success, got: exit code: 101
[00:27:34] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap build
[00:27:34] Build completed unsuccessfully in 0:23:18
[00:27:34] make: *** [all] Error 1
[00:27:34] Makefile:18: recipe for target 'all' failed
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:17d9cf67
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Sun Feb  3 13:45:35 UTC 2019
---
travis_time:end:06b882ce:start=1549201536152487087,finish=1549201536158258675,duration=5771588
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:0320cd20
$ 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:288e30eb
travis_time:start:288e30eb
$ 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:14bb385c
$ 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)

@petrochenkov
Copy link
Contributor

This adds extra Vec<u32> data to every syntactic context, but the vector is usually empty, so it's mostly some "inert" wasted memory.
Perf run in the previous iteration of this PR (#54714) showed no significant regressions.

@petrochenkov petrochenkov added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 3, 2019
@petrochenkov
Copy link
Contributor

@bors r+

@bors
Copy link
Contributor

bors commented Feb 4, 2019

📌 Commit cc16a8a has been approved by petrochenkov

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Feb 4, 2019
@rust-highfive

This comment has been minimized.

@oli-obk
Copy link
Contributor Author

oli-obk commented Feb 4, 2019

@bors r- seems like I forgot to update some tests

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Feb 4, 2019
@oli-obk
Copy link
Contributor Author

oli-obk commented Feb 4, 2019

@eddyb said to benchmark before merging

@bors try

@bors
Copy link
Contributor

bors commented Feb 4, 2019

⌛ Trying commit deb2d20 with merge 4ba1acb...

bors added a commit that referenced this pull request Feb 4, 2019
Require a list of features in `#[allow_internal_unstable]`

The blanket-permission slip is not great and will likely give us trouble some point down the road.
@oli-obk
Copy link
Contributor Author

oli-obk commented Feb 4, 2019

@rust-timer build 4ba1acb

@rust-timer
Copy link
Collaborator

Success: Queued 4ba1acb with parent 8ae730a, comparison URL.

@rust-highfive
Copy link
Collaborator

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

Click to expand the log.
travis_time:end:12b9b575:start=1549293098169034197,finish=1549293169766995051,duration=71597960854
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0
---
[00:24:49]    Compiling alloc v0.0.0 (/checkout/src/liballoc)
[00:24:49]    Compiling panic_abort v0.0.0 (/checkout/src/libpanic_abort)
[00:24:49]    Compiling rustc-demangle v0.1.10
[00:24:55]    Compiling panic_unwind v0.0.0 (/checkout/src/libpanic_unwind)
[00:24:56] warning: allow_internal_unstable expects list of feature names. In the future this will become a hard error. Please use `allow_internal_unstable(foo, bar)` to only allow the `foo` and `bar` features
[00:24:56]   --> src/libstd/../stdsimd/crates/std_detect/src/detect/arch/x86.rs:82:1
[00:24:56] 82 | #[allow_internal_unstable]
[00:24:56]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[00:24:56] 
[00:25:15]     Finished release [optimized] target(s) in 1m 08s
---
[00:26:20]    Compiling flate2 v1.0.6
[00:26:21]    Compiling parking_lot v0.6.4
[00:26:21]    Compiling rustc-rayon v0.1.1
[00:26:25]    Compiling rustc_data_structures v0.0.0 (/checkout/src/librustc_data_structures)
[00:26:26] warning: allow_internal_unstable expects list of feature names. In the future this will become a hard error. Please use `allow_internal_unstable(foo, bar)` to only allow the `foo` and `bar` features
[00:26:26]   |
[00:26:26] 4 | #[allow_internal_unstable]
[00:26:26]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[00:26:26] 
[00:26:26] 
[00:26:27]    Compiling tempfile v3.0.5
[00:26:30]    Compiling arena v0.0.0 (/checkout/src/libarena)
[00:26:30]    Compiling syntax_pos v0.0.0 (/checkout/src/libsyntax_pos)
[00:26:30] warning: allow_internal_unstable expects list of feature names. In the future this will become a hard error. Please use `allow_internal_unstable(foo, bar)` to only allow the `foo` and `bar` features
[00:26:30]   --> /checkout/src/libstd/../stdsimd/crates/std_detect/src/detect/arch/x86.rs:82:1
[00:26:30] 82 | #[allow_internal_unstable]
[00:26:30]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[00:26:30] 
[00:26:30] 
[00:26:30] warning: allow_internal_unstable expects list of feature names. In the future this will become a hard error. Please use `allow_internal_unstable(foo, bar)` to only allow the `foo` and `bar` features
[00:26:30]    |
[00:26:30] 71 | #[allow_internal_unstable]
[00:26:30]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[00:26:30] 
[00:26:30] 
[00:26:36]    Compiling rustc_errors v0.0.0 (/checkout/src/librustc_errors)
[00:26:52] warning: allow_internal_unstable expects list of feature names. In the future this will become a hard error. Please use `allow_internal_unstable(foo, bar)` to only allow the `foo` and `bar` features
[00:26:52]    |
[00:26:52] 71 | #[allow_internal_unstable]
[00:26:52]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[00:26:52] 
[00:26:52] 
[00:26:52] warning: allow_internal_unstable expects list of feature names. In the future this will become a hard error. Please use `allow_internal_unstable(foo, bar)` to only allow the `foo` and `bar` features
[00:26:52]   |
[00:26:52] 4 | #[allow_internal_unstable]
[00:26:52]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[00:26:52] 
[00:26:52] 
[00:28:07]    Compiling syntax_ext v0.0.0 (/checkout/src/libsyntax_ext)
[00:28:09] warning: allow_internal_unstable expects list of feature names. In the future this will become a hard error. Please use `allow_internal_unstable(foo, bar)` to only allow the `foo` and `bar` features
[00:28:09]   |
[00:28:09] 4 | #[allow_internal_unstable]
[00:28:09]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[00:28:09] 
[00:28:09] 
[00:28:10] warning: allow_internal_unstable expects list of feature names. In the future this will become a hard error. Please use `allow_internal_unstable(foo, bar)` to only allow the `foo` and `bar` features
[00:28:10]    |
[00:28:10] 71 | #[allow_internal_unstable]
[00:28:10]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[00:28:10] 
---
[00:57:26]     Checking panic_unwind v0.0.0 (/checkout/src/libpanic_unwind)
[00:57:26]     Checking rustc_tsan v0.0.0 (/checkout/src/librustc_tsan)
[00:57:26]     Checking rustc_asan v0.0.0 (/checkout/src/librustc_asan)
[00:57:26]  Documenting std v0.0.0 (/checkout/src/libstd)
[00:57:27] warning: allow_internal_unstable expects list of feature names. In the future this will become a hard error. Please use `allow_internal_unstable(foo, bar)` to only allow the `foo` and `bar` features
[00:57:27]   --> src/libstd/../stdsimd/crates/std_detect/src/detect/arch/x86.rs:82:1
[00:57:27] 82 | #[allow_internal_unstable]
[00:57:27]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[00:57:27] 
[00:57:38]     Finished release [optimized] target(s) in 18.44s
---
travis_time:start:test_debuginfo
Check compiletest suite=debuginfo mode=debuginfo-both (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:09:39] 
[01:09:39] running 119 tests
[01:10:04] .iiiii...i.....i..i...i..i.i..i.ii...i.....i..i....i..........iiii..........i...ii...i.......ii.i.i. 100/119
[01:10:08] i......iii.i.....ii
[01:10:08] 
[01:10:08]  finished in 29.047
[01:10:08] travis_fold:end:test_debuginfo

---
[01:25:58] travis_fold:start:test_stage1-std
travis_time:start:test_stage1-std
Testing std stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:25:59]    Compiling std v0.0.0 (/checkout/src/libstd)
[01:25:59] warning: allow_internal_unstable expects list of feature names. In the future this will become a hard error. Please use `allow_internal_unstable(foo, bar)` to only allow the `foo` and `bar` features
[01:25:59]   --> /checkout/src/libstd/../stdsimd/crates/std_detect/src/detect/arch/x86.rs:82:1
[01:25:59] 82 | #[allow_internal_unstable]
[01:25:59]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[01:25:59] 
[01:25:59] 
[01:26:03] error: use of deprecated item 'sync::mpsc::select::tests::smoke': channel selection will be removed in a future release
[01:26:03]     |
[01:26:03]     |
[01:26:03] 380 | /     fn smoke() {
[01:26:03] 381 | |         let (tx1, rx1) = channel::<i32>();
[01:26:03] 382 | |         let (tx2, rx2) = channel::<i32>();
[01:26:03] 383 | |         tx1.send(1).unwrap();
[01:26:03] 401 | |         }
[01:26:03] 402 | |     }
[01:26:03]     | |_____^
[01:26:03]     |
[01:26:03]     |
[01:26:03]     = note: `-D deprecated` implied by `-D warnings`
[01:26:03] 
[01:26:03] error: use of deprecated item 'sync::mpsc::select::tests::smoke2': channel selection will be removed in a future release
[01:26:03]     |
[01:26:03]     |
[01:26:03] 405 | /     fn smoke2() {
[01:26:03] 406 | |         let (_tx1, rx1) = channel::<i32>();
[01:26:03] 407 | |         let (_tx2, rx2) = channel::<i32>();
[01:26:03] 408 | |         let (_tx3, rx3) = channel::<i32>();
[01:26:03] 418 | |         }
[01:26:03] 419 | |     }
[01:26:03]     | |_____^
[01:26:03] 
[01:26:03] 
[01:26:03] error: use of deprecated item 'sync::mpsc::select::tests::closed': channel selection will be removed in a future release
[01:26:03]     |
[01:26:03] 422 | /     fn closed() {
[01:26:03] 422 | /     fn closed() {
[01:26:03] 423 | |         let (_tx1, rx1) = channel::<i32>();
[01:26:03] 424 | |         let (tx2, rx2) = channel::<i32>();
[01:26:03] 425 | |         drop(tx2);
[01:26:03] 430 | |         }
[01:26:03] 431 | |     }
[01:26:03]     | |_____^
[01:26:03] 
[01:26:03] 
[01:26:03] error: use of deprecated item 'sync::mpsc::select::tests::unblocks': channel selection will be removed in a future release
[01:26:03]     |
[01:26:03] 434 | /     fn unblocks() {
[01:26:03] 434 | /     fn unblocks() {
[01:26:03] 435 | |         let (tx1, rx1) = channel::<i32>();
[01:26:03] 436 | |         let (_tx2, rx2) = channel::<i32>();
[01:26:03] 437 | |         let (tx3, rx3) = channel::<i32>();
[01:26:03] 454 | |         }
[01:26:03] 455 | |     }
[01:26:03]     | |_____^
[01:26:03] 
[01:26:03] 
[01:26:03] error: use of deprecated item 'sync::mpsc::select::tests::both_ready': channel selection will be removed in a future release
[01:26:03]     |
[01:26:03] 458 | /     fn both_ready() {
[01:26:03] 458 | /     fn both_ready() {
[01:26:03] 459 | |         let (tx1, rx1) = channel::<i32>();
[01:26:03] 460 | |         let (tx2, rx2) = channel::<i32>();
[01:26:03] 461 | |         let (tx3, rx3) = channel::<()>();
[01:26:03] ...   |
[01:26:03] 480 | |         tx3.send(()).unwrap();
[01:26:03]     | |_____^
[01:26:03] 
[01:26:03] 
[01:26:03] error: use of deprecated item 'sync::mpsc::select::tests::stress': channel selection will be removed in a future release
[01:26:03]     |
[01:26:03] 484 | /     fn stress() {
[01:26:03] 484 | /     fn stress() {
[01:26:03] 485 | |         const AMT: i32 = 10000;
[01:26:03] 486 | |         let (tx1, rx1) = channel::<i32>();
[01:26:03] 487 | |         let (tx2, rx2) = channel::<i32>();
[01:26:03] 507 | |         }
[01:26:03] 508 | |     }
[01:26:03]     | |_____^
[01:26:03] 
[01:26:03] 
[01:26:03] error: use of deprecated item 'sync::mpsc::select::tests::cloning': channel selection will be removed in a future release
[01:26:03]     |
[01:26:03] 512 | /     fn cloning() {
[01:26:03] 512 | /     fn cloning() {
[01:26:03] 513 | |         let (tx1, rx1) = channel::<i32>();
[01:26:03] 514 | |         let (_tx2, rx2) = channel::<i32>();
[01:26:03] 515 | |         let (tx3, rx3) = channel::<()>();
[01:26:03] ...   |
[01:26:03] 530 | |         tx3.send(()).unwrap();
[01:26:03]     | |_____^
[01:26:03] 
[01:26:03] 
[01:26:03] error: use of deprecated item 'sync::mpsc::select::tests::cloning2': channel selection will be removed in a future release
[01:26:03]     |
[01:26:03] 535 | /     fn cloning2() {
[01:26:03] 535 | /     fn cloning2() {
[01:26:03] 536 | |         let (tx1, rx1) = channel::<i32>();
[01:26:03] 537 | |         let (_tx2, rx2) = channel::<i32>();
[01:26:03] 538 | |         let (tx3, rx3) = channel::<()>();
[01:26:03] ...   |
[01:26:03] 553 | |         tx3.send(()).unwrap();
[01:26:03]     | |_____^
[01:26:03] 
[01:26:03] 
[01:26:03] error: use of deprecated item 'sync::mpsc::select::tests::cloning3': channel selection will be removed in a future release
[01:26:03]     |
[01:26:03] 557 | /     fn cloning3() {
[01:26:03] 557 | /     fn cloning3() {
[01:26:03] 558 | |         let (tx1, rx1) = channel::<()>();
[01:26:03] 559 | |         let (tx2, rx2) = channel::<()>();
[01:26:03] 560 | |         let (tx3, rx3) = channel::<()>();
[01:26:03] ...   |
[01:26:03] 574 | |         rx3.recv().unwrap();
[01:26:03]     | |_____^
[01:26:03] 
[01:26:03] 
[01:26:03] error: use of deprecated item 'sync::mpsc::select::tests::preflight1': channel selection will be removed in a future release
[01:26:03]     |
[01:26:03] 578 | /     fn preflight1() {
[01:26:03] 578 | /     fn preflight1() {
[01:26:03] 579 | |         let (tx, rx) = channel();
[01:26:03] 580 | |         tx.send(()).unwrap();
[01:26:03] 581 | |         select! {
[01:26:03] 582 | |             _n = rx.recv() => {}
[01:26:03] 584 | |     }
[01:26:03]     | |_____^
[01:26:03] 
[01:26:03] 
[01:26:03] error: use of deprecated item 'sync::mpsc::select::tests::preflight2': channel selection will be removed in a future release
[01:26:03]     |
[01:26:03] 587 | /     fn preflight2() {
[01:26:03] 587 | /     fn preflight2() {
[01:26:03] 588 | |         let (tx, rx) = channel();
[01:26:03] 589 | |         tx.send(()).unwrap();
[01:26:03] 590 | |         tx.send(()).unwrap();
[01:26:03] 593 | |         }
[01:26:03] 594 | |     }
[01:26:03]     | |_____^
[01:26:03] 
[01:26:03] 
[01:26:03] error: use of deprecated item 'sync::mpsc::select::tests::preflight3': channel selection will be removed in a future release
[01:26:03]     |
[01:26:03] 597 | /     fn preflight3() {
[01:26:03] 597 | /     fn preflight3() {
[01:26:03] 598 | |         let (tx, rx) = channel();
[01:26:03] 599 | |         drop(tx.clone());
[01:26:03] 600 | |         tx.send(()).unwrap();
[01:26:03] 603 | |         }
[01:26:03] 604 | |     }
[01:26:03]     | |_____^
[01:26:03] 
[01:26:03] 
[01:26:03] error: use of deprecated item 'sync::mpsc::select::tests::preflight4': channel selection will be removed in a future release
[01:26:03]     |
[01:26:03] 607 | /     fn preflight4() {
[01:26:03] 607 | /     fn preflight4() {
[01:26:03] 608 | |         let (tx, rx) = channel();
[01:26:03] 609 | |         tx.send(()).unwrap();
[01:26:03] 610 | |         let s = Select::new();
[01:26:03] ...   |
[01:26:03] 613 | |         assert_eq!(s.wait2(false), h.id);
[01:26:03]     | |_____^
[01:26:03] 
[01:26:03] 
[01:26:03] error: use of deprecated item 'sync::mpsc::select::tests::preflight5': channel selection will be removed in a future release
[01:26:03]     |
[01:26:03] 617 | /     fn preflight5() {
[01:26:03] 617 | /     fn preflight5() {
[01:26:03] 618 | |         let (tx, rx) = channel();
[01:26:03] 619 | |         tx.send(()).unwrap();
[01:26:03] 620 | |         tx.send(()).unwrap();
[01:26:03] ...   |
[01:26:03] 624 | |         assert_eq!(s.wait2(false), h.id);
[01:26:03]     | |_____^
[01:26:03] 
[01:26:03] 
[01:26:03] error: use of deprecated item 'sync::mpsc::select::tests::preflight6': channel selection will be removed in a future release
[01:26:03]     |
[01:26:03] 628 | /     fn preflight6() {
[01:26:03] 628 | /     fn preflight6() {
[01:26:03] 629 | |         let (tx, rx) = channel();
[01:26:03] 630 | |         drop(tx.clone());
[01:26:03] 631 | |         tx.send(()).unwrap();
[01:26:03] ...   |
[01:26:03] 635 | |         assert_eq!(s.wait2(false), h.id);
[01:26:03]     | |_____^
[01:26:03] 
[01:26:03] 
[01:26:03] error: use of deprecated item 'sync::mpsc::select::tests::preflight7': channel selection will be removed in a future release
[01:26:03]     |
[01:26:03] 639 | /     fn preflight7() {
[01:26:03] 639 | /     fn preflight7() {
[01:26:03] 640 | |         let (tx, rx) = channel::<()>();
[01:26:03] 641 | |         drop(tx);
[01:26:03] 642 | |         let s = Select::new();
[01:26:03] ...   |
[01:26:03] 645 | |         assert_eq!(s.wait2(false), h.id);
[01:26:03]     | |_____^
[01:26:03] 
[01:26:03] 
[01:26:03] error: use of deprecated item 'sync::mpsc::select::tests::preflight8': channel selection will be removed in a future release
[01:26:03]     |
[01:26:03] 649 | /     fn preflight8() {
[01:26:03] 649 | /     fn preflight8() {
[01:26:03] 650 | |         let (tx, rx) = channel();
[01:26:03] 651 | |         tx.send(()).unwrap();
[01:26:03] 652 | |         drop(tx);
[01:26:03] ...   |
[01:26:03] 657 | |         assert_eq!(s.wait2(false), h.id);
[01:26:03]     | |_____^
[01:26:03] 
[01:26:03] 
[01:26:03] error: use of deprecated item 'sync::mpsc::select::tests::preflight9': channel selection will be removed in a future release
[01:26:03]     |
[01:26:03] 661 | /     fn preflight9() {
[01:26:03] 661 | /     fn preflight9() {
[01:26:03] 662 | |         let (tx, rx) = channel();
[01:26:03] 663 | |         drop(tx.clone());
[01:26:03] 664 | |         tx.send(()).unwrap();
[01:26:03] ...   |
[01:26:03] 670 | |         assert_eq!(s.wait2(false), h.id);
[01:26:03]     | |_____^
[01:26:03] 
[01:26:03] 
[01:26:03] error: use of deprecated item 'sync::mpsc::select::tests::oneshot_data_waiting': channel selection will be removed in a future release
[01:26:03]     |
[01:26:03] 674 | /     fn oneshot_data_waiting() {
[01:26:03] 674 | /     fn oneshot_data_waiting() {
[01:26:03] 675 | |         let (tx1, rx1) = channel();
[01:26:03] 676 | |         let (tx2, rx2) = channel();
[01:26:03] 677 | |         let _t = thread::spawn(move|| {
[01:26:03] ...   |
[01:26:03] 686 | |         rx2.recv().unwrap();
[01:26:03]     | |_____^
[01:26:03] 
[01:26:03] 
[01:26:03] error: use of deprecated item 'sync::mpsc::select::tests::stream_data_waiting': channel selection will be removed in a future release
[01:26:03]     |
[01:26:03] 690 | /     fn stream_data_waiting() {
[01:26:03] 690 | /     fn stream_data_waiting() {
[01:26:03] 691 | |         let (tx1, rx1) = channel();
[01:26:03] 692 | |         let (tx2, rx2) = channel();
[01:26:03] 693 | |         tx1.send(()).unwrap();
[01:26:03] ...   |
[01:26:03] 706 | |         rx2.recv().unwrap();
[01:26:03]     | |_____^
[01:26:03] 
[01:26:03] 
[01:26:03] error: use of deprecated item 'sync::mpsc::select::tests::shared_data_waiting': channel selection will be removed in a future release
[01:26:03]     |
[01:26:03]     |
[01:26:03] 710 | /     fn shared_data_waiting() {
[01:26:03] 711 | |         let (tx1, rx1) = channel();
[01:26:03] 712 | |         let (tx2, rx2) = channel();
[01:26:03] 713 | |         drop(tx1.clone());
[01:26:03] ...   |
[01:26:03] 725 | |         rx2.recv().unwrap();
[01:26:03]     | |_____^
[01:26:03] 
[01:26:03] 
[01:26:03] error: use of deprecated item 'sync::mpsc::select::tests::sync1': channel selection will be removed in a future release
[01:26:03]     |
[01:26:03]     |
[01:26:03] 729 | /     fn sync1() {
[01:26:03] 730 | |         let (tx, rx) = sync_channel::<i32>(1);
[01:26:03] 731 | |         tx.send(1).unwrap();
[01:26:03] 732 | |         select! {
[01:26:03] 733 | |             n = rx.recv() => { assert_eq!(n.unwrap(), 1); }
[01:26:03] 735 | |     }
[01:26:03]     | |_____^
[01:26:03] 
[01:26:03] 
[01:26:03] error: use of deprecated item 'sync::mpsc::select::tests::sync2': channel selection will be removed in a future release
[01:26:03]     |
[01:26:03]     |
[01:26:03] 738 | /     fn sync2() {
[01:26:03] 739 | |         let (tx, rx) = sync_channel::<i32>(0);
[01:26:03] 740 | |         let _t = thread::spawn(move|| {
[01:26:03] 741 | |             for _ in 0..100 { thread::yield_now() }
[01:26:03] 746 | |         }
[01:26:03] 747 | |     }
[01:26:03]     | |_____^
[01:26:03] 
[01:26:03] 
[01:26:03] error: use of deprecated item 'sync::mpsc::select::tests::sync3': channel selection will be removed in a future release
[01:26:03]     |
[01:26:03]     |
[01:26:03] 750 | /     fn sync3() {
[01:26:03] 751 | |         let (tx1, rx1) = sync_channel::<i32>(0);
[01:26:03] 752 | |         let (tx2, rx2): (Sender<i32>, Receiver<i32>) = channel();
[01:26:03] 753 | |         let _t = thread::spawn(move|| { tx1.send(1).unwrap(); });
[01:26:03] 766 | |         }
[01:26:03] 767 | |     }
[01:26:03]     | |_____^
[01:26:03] 
[01:26:03] 
[01:26:11] error: aborting due to 24 previous errors
[01:26:11] 
[01:26:12] error: Could not compile `std`.
[01:26:12] 
[01:26:12] To learn more, run the command again with --verbose.
[01:26:12] 
[01:26:12] 
[01:26:12] 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" "--manifest-path" "/checkout/src/libstd/Cargo.toml" "-p" "std" "--" "--quiet"
[01:26:12] 
[01:26:12] 
[01:26:12] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:26:12] Build completed unsuccessfully in 0:28:14
[01:26:12] Build completed unsuccessfully in 0:28:14
[01:26:12] make: *** [check] Error 1
[01:26:12] Makefile:48: recipe for target 'check' failed
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:1bc2669a
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Mon Feb  4 16:39:21 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)

@bors
Copy link
Contributor

bors commented Feb 4, 2019

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

@rust-timer
Copy link
Collaborator

Finished benchmarking try commit 4ba1acb

@eddyb
Copy link
Member

eddyb commented Feb 4, 2019

I think changing it to a Option<Rc<Vec<Symbol>>> that's shared between all invocations of the same macro is enough to make it pretty cheap (and it should be a simple change).

@oli-obk
Copy link
Contributor Author

oli-obk commented Feb 7, 2019

@bors try

@oli-obk oli-obk force-pushed the maybe_allow_internal_unstable branch from dad1b52 to bbe524d Compare February 11, 2019 16:47
@petrochenkov
Copy link
Contributor

@bors r+

@bors
Copy link
Contributor

bors commented Feb 11, 2019

📌 Commit bbe524d has been approved by petrochenkov

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Feb 11, 2019
@bors
Copy link
Contributor

bors commented Feb 11, 2019

⌛ Testing commit bbe524d with merge f0c69d69b877d9443fc2323a01eadff4cd260eda...

@bors bors mentioned this pull request Feb 11, 2019
@bors
Copy link
Contributor

bors commented Feb 11, 2019

💔 Test failed - status-appveyor

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

Centril commented Feb 12, 2019

@bors retry

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

bors commented Feb 12, 2019

⌛ Testing commit bbe524d with merge c84e797...

bors added a commit that referenced this pull request Feb 12, 2019
…chenkov

Require a list of features in `#[allow_internal_unstable]`

The blanket-permission slip is not great and will likely give us trouble some point down the road.
@bors
Copy link
Contributor

bors commented Feb 12, 2019

☀️ Test successful - checks-travis, status-appveyor
Approved by: petrochenkov
Pushing c84e797 to master...

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

Successfully merging this pull request may close these issues.

7 participants