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

More const int functions #66884

Closed
wants to merge 14 commits into from
Closed

Conversation

9999years
Copy link
Contributor

@9999years 9999years commented Nov 30, 2019

Constifies the int arithmetic functions from #53718 that were blocked on #49146.

  • feature = const_int_checked

    • checked_add
    • checked_sub
    • checked_mul
    • checked_div Uses intrinsics::unchecked_div internally.
    • checked_rem Uses intrinsics::unchecked_rem internally; needs Organize intrinsics promotion checks #66275.
    • checked_neg
    • checked_shl
    • checked_shr
    • checked_abs
  • feature = const_int_saturating / feature = const_saturating_int_methods

    • saturating_mul
    • saturating_neg
    • saturating_abs
  • feature = const_int_wrapping

    • wrapping_div
    • wrapping_rem
  • feature = const_int_overflowing

    • overflowing_div
    • overflowing_rem
  • feature = const_int_euclidean

    • checked_div_euclid
    • checked_rem_euclid
    • wrapping_div_euclid
    • wrapping_rem_euclid
    • overflowing_div_euclid
    • overflowing_rem_euclid
  • feature = const_int_pow

  • feature = const_int_nonzero

    • NonZero*::new (implementation in macro_rules! nonzero_integers)

I converted some of the Option functions as well; this is a new #![feature], should it be in a different PR?

cc @oli-obk, who has kindly been helping me start work on this on Twitter! 🙂

@rust-highfive
Copy link
Collaborator

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @KodrAus (or someone else) soon.

If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.

Please see the contribution instructions for more information.

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

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

Click to expand the log.
2019-11-30T00:26:37.2012188Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-11-30T00:26:37.8786863Z ##[command]git config gc.auto 0
2019-11-30T00:26:37.8792464Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-11-30T00:26:37.8798195Z ##[command]git config --get-all http.proxy
2019-11-30T00:26:37.8805080Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/66884/merge:refs/remotes/pull/66884/merge
---
2019-11-30T00:33:15.3507135Z    Compiling compiler_builtins v0.1.18
2019-11-30T00:33:15.6148115Z error[E0723]: loops and conditional expressions are not stable in const fn
2019-11-30T00:33:15.6148771Z     --> src/libcore/num/mod.rs:851:16
2019-11-30T00:33:15.6149058Z      |
2019-11-30T00:33:15.6152967Z 238  | / macro_rules! int_impl {
2019-11-30T00:33:15.6153390Z 239  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-11-30T00:33:15.6153829Z 240  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-11-30T00:33:15.6154188Z 241  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-11-30T00:33:15.6154464Z ...    |
2019-11-30T00:33:15.6154829Z 851  | |             if rhs == 0 || (self == Self::min_value() && rhs == -1) {
2019-11-30T00:33:15.6155461Z ...    |
2019-11-30T00:33:15.6155763Z 2394 | |     }
2019-11-30T00:33:15.6156049Z 2395 | | }
2019-11-30T00:33:15.6156049Z 2395 | | }
2019-11-30T00:33:15.6156386Z      | |_- in this expansion of `int_impl!`
2019-11-30T00:33:15.6156601Z ...
2019-11-30T00:33:15.6157002Z 2399 | /     int_impl! { i8, i8, u8, 8, -128, 127, "", "", 2, "-0x7e", "0xa", "0x12", "0x12", "0x48",
2019-11-30T00:33:15.6157537Z 2400 | |         "[0x12]", "[0x12]", "", "" }
2019-11-30T00:33:15.6158220Z      |
2019-11-30T00:33:15.6158220Z      |
2019-11-30T00:33:15.6158926Z      = note: for more information, see issue ***/issues/57563
2019-11-30T00:33:15.6159290Z      = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-11-30T00:33:15.6973143Z error[E0723]: loops and conditional expressions are not stable in const fn
2019-11-30T00:33:15.6973532Z     --> src/libcore/num/mod.rs:851:16
2019-11-30T00:33:15.6973835Z      |
2019-11-30T00:33:15.6974161Z 238  | / macro_rules! int_impl {
2019-11-30T00:33:15.6974161Z 238  | / macro_rules! int_impl {
2019-11-30T00:33:15.6974556Z 239  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-11-30T00:33:15.6975290Z 240  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-11-30T00:33:15.6975650Z 241  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-11-30T00:33:15.6975939Z ...    |
2019-11-30T00:33:15.6976393Z 851  | |             if rhs == 0 || (self == Self::min_value() && rhs == -1) {
2019-11-30T00:33:15.6977047Z ...    |
2019-11-30T00:33:15.6979102Z 2394 | |     }
2019-11-30T00:33:15.6979494Z 2395 | | }
2019-11-30T00:33:15.6979494Z 2395 | | }
2019-11-30T00:33:15.6979821Z      | |_- in this expansion of `int_impl!`
2019-11-30T00:33:15.6980037Z ...
2019-11-30T00:33:15.6980470Z 2405 | /     int_impl! { i16, i16, u16, 16, -32768, 32767, "", "", 4, "-0x5ffd", "0x3a", "0x1234", "0x3412",
2019-11-30T00:33:15.6980846Z 2406 | |         "0x2c48", "[0x34, 0x12]", "[0x12, 0x34]", "", "" }
2019-11-30T00:33:15.6981494Z      |
2019-11-30T00:33:15.6981494Z      |
2019-11-30T00:33:15.6982012Z      = note: for more information, see issue ***/issues/57563
2019-11-30T00:33:15.6982350Z      = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-11-30T00:33:16.5059221Z error[E0723]: loops and conditional expressions are not stable in const fn
2019-11-30T00:33:16.5060002Z     --> src/libcore/num/mod.rs:851:16
2019-11-30T00:33:16.5060303Z      |
2019-11-30T00:33:16.5060616Z 238  | / macro_rules! int_impl {
2019-11-30T00:33:16.5060616Z 238  | / macro_rules! int_impl {
2019-11-30T00:33:16.5061107Z 239  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-11-30T00:33:16.5061512Z 240  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-11-30T00:33:16.5061926Z 241  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-11-30T00:33:16.5062186Z ...    |
2019-11-30T00:33:16.5062606Z 851  | |             if rhs == 0 || (self == Self::min_value() && rhs == -1) {
2019-11-30T00:33:16.5063378Z ...    |
2019-11-30T00:33:16.5063734Z 2394 | |     }
2019-11-30T00:33:16.5064027Z 2395 | | }
2019-11-30T00:33:16.5064027Z 2395 | | }
2019-11-30T00:33:16.5064342Z      | |_- in this expansion of `int_impl!`
2019-11-30T00:33:16.5064615Z ...
2019-11-30T00:33:16.5065022Z 2411 | /     int_impl! { i32, i32, u32, 32, -2147483648, 2147483647, "", "", 8, "0x10000b3", "0xb301",
2019-11-30T00:33:16.5065465Z 2412 | |         "0x12345678", "0x78563412", "0x1e6a2c48", "[0x78, 0x56, 0x34, 0x12]",
2019-11-30T00:33:16.5065834Z 2413 | |         "[0x12, 0x34, 0x56, 0x78]", "", "" }
2019-11-30T00:33:16.5066455Z      |
2019-11-30T00:33:16.5066455Z      |
2019-11-30T00:33:16.5113219Z      = note: for more information, see issue ***/issues/57563
2019-11-30T00:33:16.5113850Z      = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-11-30T00:33:16.5114244Z error[E0723]: loops and conditional expressions are not stable in const fn
2019-11-30T00:33:16.5114524Z     --> src/libcore/num/mod.rs:851:16
2019-11-30T00:33:16.5114762Z      |
2019-11-30T00:33:16.5115092Z 238  | / macro_rules! int_impl {
2019-11-30T00:33:16.5115092Z 238  | / macro_rules! int_impl {
2019-11-30T00:33:16.5115480Z 239  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-11-30T00:33:16.5115872Z 240  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-11-30T00:33:16.5116403Z 241  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-11-30T00:33:16.5116718Z ...    |
2019-11-30T00:33:16.5117098Z 851  | |             if rhs == 0 || (self == Self::min_value() && rhs == -1) {
2019-11-30T00:33:16.5117724Z ...    |
2019-11-30T00:33:16.5118024Z 2394 | |     }
2019-11-30T00:33:16.5118602Z 2395 | | }
2019-11-30T00:33:16.5118602Z 2395 | | }
2019-11-30T00:33:16.5118935Z      | |_- in this expansion of `int_impl!`
2019-11-30T00:33:16.5119168Z ...
2019-11-30T00:33:16.5119556Z 2418 | /     int_impl! { i64, i64, u64, 64, -9223372036854775808, 9223372036854775807, "", "", 12,
2019-11-30T00:33:16.5120102Z 2419 | |          "0xaa00000000006e1", "0x6e10aa", "0x1234567890123456", "0x5634129078563412",
2019-11-30T00:33:16.5120517Z 2420 | |          "0x6a2c48091e6a2c48", "[0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]",
2019-11-30T00:33:16.5120902Z 2421 | |          "[0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]", "", "" }
2019-11-30T00:33:16.5121540Z      |
2019-11-30T00:33:16.5121540Z      |
2019-11-30T00:33:16.5121940Z      = note: for more information, see issue ***/issues/57563
2019-11-30T00:33:16.5122287Z      = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-11-30T00:33:16.5122617Z error[E0723]: loops and conditional expressions are not stable in const fn
2019-11-30T00:33:16.5122899Z     --> src/libcore/num/mod.rs:851:16
2019-11-30T00:33:16.5123120Z      |
2019-11-30T00:33:16.5123427Z 238  | / macro_rules! int_impl {
2019-11-30T00:33:16.5123427Z 238  | / macro_rules! int_impl {
2019-11-30T00:33:16.5123832Z 239  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-11-30T00:33:16.5124229Z 240  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-11-30T00:33:16.5124602Z 241  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-11-30T00:33:16.5124857Z ...    |
2019-11-30T00:33:16.5125215Z 851  | |             if rhs == 0 || (self == Self::min_value() && rhs == -1) {
2019-11-30T00:33:16.5125962Z ...    |
2019-11-30T00:33:16.5126270Z 2394 | |     }
2019-11-30T00:33:16.5126579Z 2395 | | }
2019-11-30T00:33:16.5126579Z 2395 | | }
2019-11-30T00:33:16.5126894Z      | |_- in this expansion of `int_impl!`
2019-11-30T00:33:16.5127117Z ...
2019-11-30T00:33:16.5127499Z 2426 | /     int_impl! { i128, i128, u128, 128, -170141183460469231731687303715884105728,
2019-11-30T00:33:16.5127867Z 2427 | |         170141183460469231731687303715884105727, "", "", 16,
2019-11-30T00:33:16.5128531Z 2428 | |         "0x13f40000000000000000000000004f76", "0x4f7613f4", "0x12345678901234567890123456789012",
2019-11-30T00:33:16.5128956Z 2429 | |         "0x12907856341290785634129078563412", "0x48091e6a2c48091e6a2c48091e6a2c48",
2019-11-30T00:33:16.5129364Z ...    |
2019-11-30T00:33:16.5129728Z 2432 | |         "[0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, \
2019-11-30T00:33:16.5130108Z 2433 | |           0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12]", "", "" }
2019-11-30T00:33:16.5130750Z      |
2019-11-30T00:33:16.5130750Z      |
2019-11-30T00:33:16.5131130Z      = note: for more information, see issue ***/issues/57563
2019-11-30T00:33:16.5131471Z      = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-11-30T00:33:16.5131814Z error[E0723]: loops and conditional expressions are not stable in const fn
2019-11-30T00:33:16.5132080Z     --> src/libcore/num/mod.rs:851:16
2019-11-30T00:33:16.5132311Z      |
2019-11-30T00:33:16.5132624Z 238  | / macro_rules! int_impl {
2019-11-30T00:33:16.5132624Z 238  | / macro_rules! int_impl {
2019-11-30T00:33:16.5133016Z 239  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-11-30T00:33:16.5133425Z 240  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-11-30T00:33:16.5133787Z 241  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-11-30T00:33:16.5134048Z ...    |
2019-11-30T00:33:16.5134407Z 851  | |             if rhs == 0 || (self == Self::min_value() && rhs == -1) {
2019-11-30T00:33:16.5135115Z ...    |
2019-11-30T00:33:16.5135448Z 2394 | |     }
2019-11-30T00:33:16.5135741Z 2395 | | }
2019-11-30T00:33:16.5135741Z 2395 | | }
2019-11-30T00:33:16.5136092Z      | |_- in this expansion of `int_impl!`
2019-11-30T00:33:16.5136306Z ...
2019-11-30T00:33:16.5136689Z 2456 | /     int_impl! { isize, i64, u64, 64, -9223372036854775808, 9223372036854775807, "", "",
2019-11-30T00:33:16.5137114Z 2457 | |         12, "0xaa00000000006e1", "0x6e10aa",  "0x1234567890123456", "0x5634129078563412",
2019-11-30T00:33:16.5137521Z 2458 | |          "0x6a2c48091e6a2c48", "[0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]",
2019-11-30T00:33:16.5137905Z 2459 | |          "[0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]",
2019-11-30T00:33:16.5138572Z 2460 | |          usize_isize_to_xe_bytes_doc!(), usize_isize_from_xe_bytes_doc!() }
2019-11-30T00:33:16.5139253Z      |
2019-11-30T00:33:16.5139253Z      |
2019-11-30T00:33:16.5139621Z      = note: for more information, see issue ***/issues/57563
2019-11-30T00:33:16.5139972Z      = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-11-30T00:33:17.5003056Z    Compiling backtrace-sys v0.1.32
2019-11-30T00:33:18.2686022Z    Compiling unwind v0.0.0 (/checkout/src/libunwind)
2019-11-30T00:33:19.1798625Z    Compiling hashbrown v0.6.2
2019-11-30T00:33:19.4589355Z    Compiling rustc_tsan v0.0.0 (/checkout/src/librustc_tsan)
---
2019-11-30T00:33:20.0153500Z   local time: Sat Nov 30 00:33:20 UTC 2019
2019-11-30T00:33:20.1014810Z   network time: Sat, 30 Nov 2019 00:33:20 GMT
2019-11-30T00:33:20.1017060Z == end clock drift check ==
2019-11-30T00:33:21.5254916Z 
2019-11-30T00:33:21.5356707Z ##[error]Bash exited with code '1'.
2019-11-30T00:33:21.5385706Z ##[section]Starting: Checkout
2019-11-30T00:33:21.5387406Z ==============================================================================
2019-11-30T00:33:21.5387477Z Task         : Get sources
2019-11-30T00:33:21.5387543Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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

@9999years
Copy link
Contributor Author

./x.py build src/libcore runs without errors in my repo, so I assume I have some bootstrapping that isn't quite upstreamed. How do I get the checks passing in CI, too?

src/libcore/num/mod.rs Outdated Show resolved Hide resolved
@Centril
Copy link
Contributor

Centril commented Nov 30, 2019

r? @oli-obk

@rust-highfive
Copy link
Collaborator

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

Click to expand the log.
2019-12-01T21:07:09.2556946Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-12-01T21:07:09.2873430Z ##[command]git config gc.auto 0
2019-12-01T21:07:09.2937655Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-12-01T21:07:09.2998231Z ##[command]git config --get-all http.proxy
2019-12-01T21:07:09.3153989Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/66884/merge:refs/remotes/pull/66884/merge
---
2019-12-01T21:36:12.4148554Z 10  | / macro_rules! panic {
2019-12-01T21:36:12.4149349Z 11  | |     () => (
2019-12-01T21:36:12.4149684Z 12  | |         $crate::panic!("explicit panic")
2019-12-01T21:36:12.4150001Z 13  | |     );
2019-12-01T21:36:12.4150572Z 14  | |     ($msg:expr) => (
2019-12-01T21:36:12.4150930Z 15  | |         $crate::panicking::panic($msg, $crate::intrinsics::caller_location())
2019-12-01T21:36:12.4151580Z ...   |
2019-12-01T21:36:12.4151879Z 25  | |     );
2019-12-01T21:36:12.4152367Z 26  | | }
2019-12-01T21:36:12.4152626Z     | |_- in this expansion of `panic!`
2019-12-01T21:36:12.4152626Z     | |_- in this expansion of `panic!`
2019-12-01T21:36:12.4156231Z     | 
2019-12-01T21:36:12.4156528Z    ::: src/libcore/option.rs:475:21
2019-12-01T21:36:12.4156735Z     |
2019-12-01T21:36:12.4157197Z 475 |               None => panic!("called `Option::unwrap()` on a `None` value"),
2019-12-01T21:36:12.4157625Z     |                       ----------------------------------------------------- in this macro invocation
2019-12-01T21:36:12.4157865Z     |
2019-12-01T21:36:12.4158312Z     = note: for more information, see issue ***/issues/57563
2019-12-01T21:36:12.4158655Z     = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:36:12.5222143Z    Compiling rustc_tsan v0.0.0 (/checkout/src/librustc_tsan)
2019-12-01T21:36:12.9957268Z    Compiling rustc_asan v0.0.0 (/checkout/src/librustc_asan)
2019-12-01T21:36:14.0292097Z    Compiling rustc_msan v0.0.0 (/checkout/src/librustc_msan)
2019-12-01T21:36:14.8437358Z error: aborting due to previous error
---
2019-12-01T21:36:18.9700762Z   local time: Sun Dec  1 21:36:18 UTC 2019
2019-12-01T21:36:19.5071761Z   network time: Sun, 01 Dec 2019 21:36:19 GMT
2019-12-01T21:36:19.5073664Z == end clock drift check ==
2019-12-01T21:36:20.9407958Z 
2019-12-01T21:36:20.9528652Z ##[error]Bash exited with code '1'.
2019-12-01T21:36:20.9569279Z ##[section]Starting: Checkout
2019-12-01T21:36:20.9571507Z ==============================================================================
2019-12-01T21:36:20.9571591Z Task         : Get sources
2019-12-01T21:36:20.9571644Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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

@rust-highfive
Copy link
Collaborator

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

Click to expand the log.
2019-12-03T01:58:32.6785420Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-12-03T01:58:32.6984305Z ##[command]git config gc.auto 0
2019-12-03T01:58:32.7058669Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-12-03T01:58:32.7131091Z ##[command]git config --get-all http.proxy
2019-12-03T01:58:32.7298195Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/66884/merge:refs/remotes/pull/66884/merge
---
2019-12-03T02:04:22.4700442Z    Compiling serde_json v1.0.40
2019-12-03T02:04:24.1942671Z    Compiling tidy v0.1.0 (/checkout/src/tools/tidy)
2019-12-03T02:04:35.2438727Z     Finished release [optimized] target(s) in 1m 27s
2019-12-03T02:04:35.2551918Z tidy check
2019-12-03T02:04:36.1975030Z tidy error: /checkout/src/libcore/num/mod.rs:846: TODO is deprecated; use FIXME
2019-12-03T02:04:37.9826655Z some tidy checks failed
2019-12-03T02:04:37.9826761Z Found 486 error codes
2019-12-03T02:04:37.9826931Z Found 0 error codes with no tests
2019-12-03T02:04:37.9827213Z Done!
2019-12-03T02:04:37.9827213Z Done!
2019-12-03T02:04:37.9827258Z 
2019-12-03T02:04:37.9827283Z 
2019-12-03T02:04:37.9828636Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor"
2019-12-03T02:04:37.9828774Z 
2019-12-03T02:04:37.9828798Z 
2019-12-03T02:04:37.9828865Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
2019-12-03T02:04:37.9828916Z Build completed unsuccessfully in 0:01:31
2019-12-03T02:04:37.9828916Z Build completed unsuccessfully in 0:01:31
2019-12-03T02:04:37.9877494Z == clock drift check ==
2019-12-03T02:04:37.9885898Z   local time: Tue Dec  3 02:04:37 UTC 2019
2019-12-03T02:04:38.5238475Z   network time: Tue, 03 Dec 2019 02:04:38 GMT
2019-12-03T02:04:38.5238594Z == end clock drift check ==
2019-12-03T02:04:39.8816431Z 
2019-12-03T02:04:39.8917030Z ##[error]Bash exited with code '1'.
2019-12-03T02:04:39.8945261Z ##[section]Starting: Checkout
2019-12-03T02:04:39.8946810Z ==============================================================================
2019-12-03T02:04:39.8946888Z Task         : Get sources
2019-12-03T02:04:39.8946931Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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

@rust-highfive
Copy link
Collaborator

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

Click to expand the log.
2019-12-03T03:55:04.5889700Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-12-03T03:55:04.6051411Z ##[command]git config gc.auto 0
2019-12-03T03:55:04.6130166Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-12-03T03:55:04.6184649Z ##[command]git config --get-all http.proxy
2019-12-03T03:55:04.6335065Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/66884/merge:refs/remotes/pull/66884/merge
---
2019-12-03T04:00:53.7128345Z    Compiling serde_json v1.0.40
2019-12-03T04:00:55.3620598Z    Compiling tidy v0.1.0 (/checkout/src/tools/tidy)
2019-12-03T04:01:05.7981186Z     Finished release [optimized] target(s) in 1m 24s
2019-12-03T04:01:05.8094886Z tidy check
2019-12-03T04:01:06.7309849Z tidy error: /checkout/src/libcore/num/mod.rs:846: TODO is deprecated; use FIXME
2019-12-03T04:01:08.4656520Z Found 486 error codes
2019-12-03T04:01:08.4658649Z Found 0 error codes with no tests
2019-12-03T04:01:08.4659183Z Done!
2019-12-03T04:01:08.4659456Z some tidy checks failed
2019-12-03T04:01:08.4659456Z some tidy checks failed
2019-12-03T04:01:08.4659676Z 
2019-12-03T04:01:08.4659836Z 
2019-12-03T04:01:08.4660804Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor"
2019-12-03T04:01:08.4661401Z 
2019-12-03T04:01:08.4663347Z 
2019-12-03T04:01:08.4663803Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
2019-12-03T04:01:08.4663998Z Build completed unsuccessfully in 0:01:28
2019-12-03T04:01:08.4663998Z Build completed unsuccessfully in 0:01:28
2019-12-03T04:01:08.4712163Z == clock drift check ==
2019-12-03T04:01:08.4724205Z   local time: Tue Dec  3 04:01:08 UTC 2019
2019-12-03T04:01:08.7482313Z   network time: Tue, 03 Dec 2019 04:01:08 GMT
2019-12-03T04:01:08.7482455Z == end clock drift check ==
2019-12-03T04:01:10.0046862Z 
2019-12-03T04:01:10.0147142Z ##[error]Bash exited with code '1'.
2019-12-03T04:01:10.0174769Z ##[section]Starting: Checkout
2019-12-03T04:01:10.0176530Z ==============================================================================
2019-12-03T04:01:10.0176587Z Task         : Get sources
2019-12-03T04:01:10.0176637Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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

@9999years
Copy link
Contributor Author

Accidentally got marked as a coauthor on like 200 commits (I'm not great at git rebase) and then accidentally deleted my entire branch (I'm not great at git rebase) and apparently if you force-push an empty branch the GitHub website automatically closes the pull request... anyways, I got it fixed (and I got the commits reordered as I intended), so hopefully we're getting close to review-ready. 🙂

@rust-highfive
Copy link
Collaborator

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

Click to expand the log.
2019-12-03T06:15:30.2148738Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-12-03T06:15:30.2358053Z ##[command]git config gc.auto 0
2019-12-03T06:15:30.2413160Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-12-03T06:15:30.2465349Z ##[command]git config --get-all http.proxy
2019-12-03T06:15:30.2631696Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/66884/merge:refs/remotes/pull/66884/merge
---
2019-12-03T07:17:37.0294237Z .......F............................................................................................ 1600/9322
2019-12-03T07:17:41.7787243Z .................................................................................................... 1700/9322
2019-12-03T07:17:54.5573017Z ...........................................i........................................................ 1800/9322
2019-12-03T07:18:02.9328953Z .................................................................................................... 1900/9322
2019-12-03T07:18:17.1113385Z ............................iiiii................................................................... 2000/9322
2019-12-03T07:18:27.8795210Z .................................................................................................... 2200/9322
2019-12-03T07:18:30.6089199Z .................................................................................................... 2300/9322
2019-12-03T07:18:35.3726149Z .................................................................................................... 2400/9322
2019-12-03T07:18:58.1958584Z .................................................................................................... 2500/9322
---
2019-12-03T07:21:44.2663866Z .............................i...............i...................................................... 4800/9322
2019-12-03T07:21:54.8516938Z .................................................................................................... 4900/9322
2019-12-03T07:22:01.2324146Z .................................................................................................... 5000/9322
2019-12-03T07:22:09.4406064Z .................................................................................................... 5100/9322
2019-12-03T07:22:17.5779878Z ...................................ii.ii...........i................................................ 5200/9322
2019-12-03T07:22:27.7072587Z .................................................................................................... 5400/9322
2019-12-03T07:22:38.0169015Z .................................................................................................... 5500/9322
2019-12-03T07:22:45.7959650Z .................i.................................................................................. 5600/9322
2019-12-03T07:22:52.1667267Z .................................................................................................... 5700/9322
2019-12-03T07:22:52.1667267Z .................................................................................................... 5700/9322
2019-12-03T07:23:04.0076792Z .................................................................................................... 5800/9322
2019-12-03T07:23:16.3233593Z ...ii...i..ii...........i........................................................................... 5900/9322
2019-12-03T07:23:35.6005480Z .................................................................................................... 6100/9322
2019-12-03T07:23:42.8554519Z .................................................................................................... 6200/9322
2019-12-03T07:23:42.8554519Z .................................................................................................... 6200/9322
2019-12-03T07:23:56.9964719Z ..........................i..ii..................................................................... 6300/9322
2019-12-03T07:24:17.9873503Z .................................................................................................i.. 6500/9322
2019-12-03T07:24:20.3934296Z .................................................................................................... 6600/9322
2019-12-03T07:24:22.6603680Z ........................................................................................i........... 6700/9322
2019-12-03T07:24:25.5597598Z .................................................................................................... 6800/9322
---
2019-12-03T07:26:09.8365889Z .................................................................................................... 7400/9322
2019-12-03T07:26:15.6508056Z .................................................................................................... 7500/9322
2019-12-03T07:26:22.2726901Z .................................................................................................... 7600/9322
2019-12-03T07:26:34.1017671Z .................................................................................................... 7700/9322
2019-12-03T07:26:41.0374405Z iiii................................................................................................ 7800/9322
2019-12-03T07:26:51.0899561Z ..............................ii......i............................................................. 7900/9322
2019-12-03T07:27:08.4280539Z .................................................................................................... 8100/9322
2019-12-03T07:27:21.2794645Z .................................................................................................... 8200/9322
2019-12-03T07:27:28.1065051Z .................................................................................................... 8300/9322
2019-12-03T07:27:54.5580438Z .................................................................................................... 8400/9322
---
2019-12-03T07:29:27.4756660Z ---- [ui] ui/consts/const-int-euclidean.rs stdout ----
2019-12-03T07:29:27.4756908Z 
2019-12-03T07:29:27.4757388Z error: test compilation failed although it shouldn't!
2019-12-03T07:29:27.4757598Z status: exit code: 1
2019-12-03T07:29:27.4758535Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/const-int-euclidean.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-int-euclidean/a" "-Crpath" "-O" "-Cdebuginfo=0" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-int-euclidean/auxiliary"
2019-12-03T07:29:27.4759222Z ------------------------------------------
2019-12-03T07:29:27.4759402Z 
2019-12-03T07:29:27.4759836Z ------------------------------------------
2019-12-03T07:29:27.4760036Z stderr:
2019-12-03T07:29:27.4760036Z stderr:
2019-12-03T07:29:27.4760617Z ------------------------------------------
2019-12-03T07:29:27.4760869Z error: any use of this value will cause an error
2019-12-03T07:29:27.4761309Z   --> /checkout/src/libcore/num/mod.rs:3266:26
2019-12-03T07:29:27.4761640Z    |
2019-12-03T07:29:27.4761825Z LL |                     Some(self.rem_euclid(rhs))
2019-12-03T07:29:27.4762163Z    |                          |
2019-12-03T07:29:27.4762163Z    |                          |
2019-12-03T07:29:27.4762626Z    |                          calling non-const function `core::num::<impl u8>::rem_euclid`
2019-12-03T07:29:27.4763197Z    |                          inside call to `core::num::<impl u8>::checked_rem_euclid` at /checkout/src/test/ui/consts/const-int-euclidean.rs:26:42
2019-12-03T07:29:27.4763823Z   ::: /checkout/src/test/ui/consts/const-int-euclidean.rs:7:11
2019-12-03T07:29:27.4764025Z    |
2019-12-03T07:29:27.4764025Z    |
2019-12-03T07:29:27.4764180Z LL |         $(const $ident: $ty = $exp;)+
2019-12-03T07:29:27.4764786Z    |
2019-12-03T07:29:27.4764982Z    = note: `#[deny(const_err)]` on by default
2019-12-03T07:29:27.4765374Z 
2019-12-03T07:29:27.4765550Z error: aborting due to previous error
---
2019-12-03T07:29:27.4794399Z thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:537:22
2019-12-03T07:29:27.4794749Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2019-12-03T07:29:27.4811532Z 
2019-12-03T07:29:27.4811804Z 
2019-12-03T07:29:27.4814104Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--src-base" "/checkout/src/test/ui" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "ui" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-6.0/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--quiet" "--llvm-version" "6.0.0\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
2019-12-03T07:29:27.4814747Z 
2019-12-03T07:29:27.4814877Z 
2019-12-03T07:29:27.4820217Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
2019-12-03T07:29:27.4820486Z Build completed unsuccessfully in 1:07:43
2019-12-03T07:29:27.4820486Z Build completed unsuccessfully in 1:07:43
2019-12-03T07:29:27.4883107Z == clock drift check ==
2019-12-03T07:29:27.4903849Z   local time: Tue Dec  3 07:29:27 UTC 2019
2019-12-03T07:29:27.7730720Z   network time: Tue, 03 Dec 2019 07:29:27 GMT
2019-12-03T07:29:27.7734213Z == end clock drift check ==
2019-12-03T07:29:28.5037271Z 
2019-12-03T07:29:28.5203926Z ##[error]Bash exited with code '1'.
2019-12-03T07:29:28.5267267Z ##[section]Starting: Checkout
2019-12-03T07:29:28.5269445Z ==============================================================================
2019-12-03T07:29:28.5269503Z Task         : Get sources
2019-12-03T07:29:28.5269568Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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

#[cfg(not(bootstrap))]
#[inline]
#[stable(feature = "rust1", since = "1.0.0")]
pub const fn unwrap_or_else<F: FnOnce() -> T>(self, f: F) -> T {
Copy link
Contributor

Choose a reason for hiding this comment

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

You show this function works in constants, but this should not be possible. It's not for min_const_fn, just for the const_fn feature gate, but still: We seem to have lost a qualification check somewhere along the line. cc @ecstatic-morse the function call to f should not work without -Zunleash-the-miri-inside-of-you

For this PR, please undo all constifications for functions that take generic things with trait bounds (other than Sized), these require rust-lang/rfcs#2632 first

Copy link
Contributor

Choose a reason for hiding this comment

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

Outside of core, the equivalent code is rejected. Any idea what's going on here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Reverted constification for these functions in 99a885e -- should I leave this conversation unresolved why we work out why they weren't rejected, though?

Copy link
Contributor

Choose a reason for hiding this comment

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

huh!? Even with the const_fn feature gate it still errors... that is worrysome. Yea leave it unresolved. I'll try to create a non-core repro

@rust-highfive
Copy link
Collaborator

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

Click to expand the log.
2019-12-04T03:52:06.1888633Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-12-04T03:52:06.2058651Z ##[command]git config gc.auto 0
2019-12-04T03:52:06.2133554Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-12-04T03:52:06.2199864Z ##[command]git config --get-all http.proxy
2019-12-04T03:52:06.2330412Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/66884/merge:refs/remotes/pull/66884/merge
---
2019-12-04T04:50:02.0489938Z ....................................F............................................................... 1600/9325
2019-12-04T04:50:06.4843135Z .................................................................................................... 1700/9325
2019-12-04T04:50:18.9524523Z ............................................i....................................................... 1800/9325
2019-12-04T04:50:25.7362899Z .................................................................................................... 1900/9325
2019-12-04T04:50:39.3114382Z .............................iiiii.................................................................. 2000/9325
2019-12-04T04:50:48.8741007Z .................................................................................................... 2200/9325
2019-12-04T04:50:51.2514593Z .................................................................................................... 2300/9325
2019-12-04T04:50:55.5355468Z .................................................................................................... 2400/9325
2019-12-04T04:51:16.1967044Z .................................................................................................... 2500/9325
---
2019-12-04T04:53:46.4263647Z ..............................i...............i..................................................... 4800/9325
2019-12-04T04:53:55.7857554Z .................................................................................................... 4900/9325
2019-12-04T04:54:02.2192091Z .................................................................................................... 5000/9325
2019-12-04T04:54:09.5464594Z .................................................................................................... 5100/9325
2019-12-04T04:54:16.9745853Z ....................................ii.ii...........i............................................... 5200/9325
2019-12-04T04:54:26.0150178Z .................................................................................................... 5400/9325
2019-12-04T04:54:35.2567614Z .................................................................................................... 5500/9325
2019-12-04T04:54:42.2697725Z ..................i................................................................................. 5600/9325
2019-12-04T04:54:48.1585990Z .................................................................................................... 5700/9325
2019-12-04T04:54:48.1585990Z .................................................................................................... 5700/9325
2019-12-04T04:54:58.9400346Z .................................................................................................... 5800/9325
2019-12-04T04:55:10.2221716Z ....ii...i..ii...........i.......................................................................... 5900/9325
2019-12-04T04:55:26.9204250Z .................................................................................................... 6100/9325
2019-12-04T04:55:33.8946104Z .................................................................................................... 6200/9325
2019-12-04T04:55:33.8946104Z .................................................................................................... 6200/9325
2019-12-04T04:55:52.2191751Z ...........................i..ii.................................................................... 6300/9325
2019-12-04T04:56:12.5476736Z ...................................................................................................i 6500/9325
2019-12-04T04:56:14.6421961Z .................................................................................................... 6600/9325
2019-12-04T04:56:16.7487571Z ..........................................................................................i......... 6700/9325
2019-12-04T04:56:19.3202513Z .................................................................................................... 6800/9325
---
2019-12-04T04:57:53.1755367Z .................................................................................................... 7400/9325
2019-12-04T04:57:58.2315549Z .................................................................................................... 7500/9325
2019-12-04T04:58:04.4994529Z .................................................................................................... 7600/9325
2019-12-04T04:58:14.9732030Z .................................................................................................... 7700/9325
2019-12-04T04:58:21.1101857Z ...iiii............................................................................................. 7800/9325
2019-12-04T04:58:35.0603924Z .................................................................................................... 8000/9325
2019-12-04T04:58:46.0761819Z .................................................................................................... 8100/9325
2019-12-04T04:58:57.5801308Z .................................................................................................... 8200/9325
2019-12-04T04:59:03.5427125Z .................................................................................................... 8300/9325
---
2019-12-04T05:00:53.1468195Z ---- [ui] ui/consts/const-option.rs stdout ----
2019-12-04T05:00:53.1468237Z 
2019-12-04T05:00:53.1468519Z error: test compilation failed although it shouldn't!
2019-12-04T05:00:53.1468567Z status: exit code: 1
2019-12-04T05:00:53.1469993Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/const-option.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-option/a" "-Crpath" "-O" "-Cdebuginfo=0" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-option/auxiliary"
2019-12-04T05:00:53.1470412Z ------------------------------------------
2019-12-04T05:00:53.1470449Z 
2019-12-04T05:00:53.1470696Z ------------------------------------------
2019-12-04T05:00:53.1470742Z stderr:
2019-12-04T05:00:53.1470742Z stderr:
2019-12-04T05:00:53.1470961Z ------------------------------------------
2019-12-04T05:00:53.1471230Z error: any use of this value will cause an error
2019-12-04T05:00:53.1471506Z   --> /checkout/src/libcore/option.rs:1748:9
2019-12-04T05:00:53.1471552Z    |
2019-12-04T05:00:53.1471616Z LL |         self.and_then(convert::identity)
2019-12-04T05:00:53.1471763Z    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-04T05:00:53.1471813Z    |         |
2019-12-04T05:00:53.1472265Z    |         calling non-const function `std::option::Option::<std::option::Option<i32>>::and_then::<i32, fn(std::option::Option<i32>) -> std::option::Option<i32> {std::convert::identity::<std::option::Option<i32>>}>`
2019-12-04T05:00:53.1472617Z    |         inside call to `std::option::Option::<std::option::Option<i32>>::flatten` at /checkout/src/test/ui/consts/const-option.rs:55:36
2019-12-04T05:00:53.1473050Z   ::: /checkout/src/test/ui/consts/const-option.rs:7:11
2019-12-04T05:00:53.1473208Z    |
2019-12-04T05:00:53.1473208Z    |
2019-12-04T05:00:53.1473249Z LL |         $(const $ident: $ty = $exp;)+
2019-12-04T05:00:53.1473537Z    |
2019-12-04T05:00:53.1473577Z    = note: `#[deny(const_err)]` on by default
2019-12-04T05:00:53.1473606Z 
2019-12-04T05:00:53.1473671Z error: any use of this value will cause an error
2019-12-04T05:00:53.1473671Z error: any use of this value will cause an error
2019-12-04T05:00:53.1474017Z   --> /checkout/src/libcore/option.rs:1748:9
2019-12-04T05:00:53.1474062Z    |
2019-12-04T05:00:53.1474121Z LL |         self.and_then(convert::identity)
2019-12-04T05:00:53.1474165Z    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-04T05:00:53.1474207Z    |         |
2019-12-04T05:00:53.1474623Z    |         calling non-const function `std::option::Option::<std::option::Option<i32>>::and_then::<i32, fn(std::option::Option<i32>) -> std::option::Option<i32> {std::convert::identity::<std::option::Option<i32>>}>`
2019-12-04T05:00:53.1474963Z    |         inside call to `std::option::Option::<std::option::Option<i32>>::flatten` at /checkout/src/test/ui/consts/const-option.rs:56:36
2019-12-04T05:00:53.1475278Z   ::: /checkout/src/test/ui/consts/const-option.rs:7:11
2019-12-04T05:00:53.1475325Z    |
2019-12-04T05:00:53.1475325Z    |
2019-12-04T05:00:53.1475365Z LL |         $(const $ident: $ty = $exp;)+
2019-12-04T05:00:53.1475641Z 
2019-12-04T05:00:53.1475684Z error: any use of this value will cause an error
2019-12-04T05:00:53.1475914Z   --> /checkout/src/libcore/option.rs:1748:9
2019-12-04T05:00:53.1475978Z    |
2019-12-04T05:00:53.1475978Z    |
2019-12-04T05:00:53.1476024Z LL |         self.and_then(convert::identity)
2019-12-04T05:00:53.1476072Z    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-04T05:00:53.1476132Z    |         |
2019-12-04T05:00:53.1476566Z    |         calling non-const function `std::option::Option::<std::option::Option<i32>>::and_then::<i32, fn(std::option::Option<i32>) -> std::option::Option<i32> {std::convert::identity::<std::option::Option<i32>>}>`
2019-12-04T05:00:53.1477025Z    |         inside call to `std::option::Option::<std::option::Option<i32>>::flatten` at /checkout/src/test/ui/consts/const-option.rs:57:36
2019-12-04T05:00:53.1477326Z   ::: /checkout/src/test/ui/consts/const-option.rs:7:11
2019-12-04T05:00:53.1477370Z    |
2019-12-04T05:00:53.1477370Z    |
2019-12-04T05:00:53.1477434Z LL |         $(const $ident: $ty = $exp;)+
2019-12-04T05:00:53.1477680Z 
2019-12-04T05:00:53.1477720Z error: aborting due to 3 previous errors
2019-12-04T05:00:53.1477763Z 
2019-12-04T05:00:53.1477788Z 
---
2019-12-04T05:00:53.1499769Z thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:537:22
2019-12-04T05:00:53.1500056Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2019-12-04T05:00:53.1507296Z 
2019-12-04T05:00:53.1507357Z 
2019-12-04T05:00:53.1513525Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--src-base" "/checkout/src/test/ui" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "ui" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-7/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--quiet" "--llvm-version" "7.0.0\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
2019-12-04T05:00:53.1513775Z 
2019-12-04T05:00:53.1513804Z 
2019-12-04T05:00:53.1521556Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
2019-12-04T05:00:53.1521624Z Build completed unsuccessfully in 1:02:42
2019-12-04T05:00:53.1521624Z Build completed unsuccessfully in 1:02:42
2019-12-04T05:00:53.1577296Z == clock drift check ==
2019-12-04T05:00:53.1601817Z   local time: Wed Dec  4 05:00:53 UTC 2019
2019-12-04T05:00:53.4481841Z   network time: Wed, 04 Dec 2019 05:00:53 GMT
2019-12-04T05:00:53.4483680Z == end clock drift check ==
2019-12-04T05:00:54.4003253Z 
2019-12-04T05:00:54.4130959Z ##[error]Bash exited with code '1'.
2019-12-04T05:00:54.4166616Z ##[section]Starting: Checkout
2019-12-04T05:00:54.4168375Z ==============================================================================
2019-12-04T05:00:54.4168445Z Task         : Get sources
2019-12-04T05:00:54.4168489Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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

@9999years 9999years changed the title [WIP] More const int functions More const int functions Dec 4, 2019
@9999years
Copy link
Contributor Author

OK, the PR is complete / ready for merge. Should I split the Option constifications into another PR?

pub const fn expect(self, msg: &str) -> T {
match self {
Some(val) => val,
None => expect_failed(msg),
Copy link
Contributor

Choose a reason for hiding this comment

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

expect_failed is not const fn

$(const $ident: $ty = $exp;)+

pub fn main() {
$(assert_eq!($exp, $ident);)+
Copy link
Contributor

Choose a reason for hiding this comment

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

same here

src/libcore/option.rs Outdated Show resolved Hide resolved
Most of the tests had to be deleted; the various power_of_two functions
use `intrinsics::ctlz_nonzero` internally, so they can't be made const
before rust-lang#66275 is merged.
With rust-lang#49146 merged, these can be const; see rust-lang#53718.
With rust-lang#49146 merged, these can be const; see rust-lang#53718.
With rust-lang#49146 merged, these can be const; see rust-lang#53718.
The implementation of rem_euclid for signed integers was const, but I'd
forgotten to mark rem_euclid on unsigned integers as const as well,
hence the failing test.
const fns with generic trait bounds aren't allowed yet; from @oli-obk:

> please undo all constifications for functions that take generic things
> with trait bounds (other than Sized), these require
> rust-lang/rfcs#2632 first
Option.flatten relies on Option.and_then, which has a generic trait
bound and can't be const yet. From @oli-obk:

> please undo all constifications for functions that take generic things
> with trait bounds (other than Sized), these require
> rust-lang/rfcs#2632 first
@rust-highfive
Copy link
Collaborator

The job mingw-check of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-12-19T22:11:49.6715855Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-12-19T22:11:49.6730759Z ##[command]git config gc.auto 0
2019-12-19T22:11:49.6735449Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-12-19T22:11:49.6739464Z ##[command]git config --get-all http.proxy
2019-12-19T22:11:49.6742100Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/66884/merge:refs/remotes/pull/66884/merge
---
2019-12-19T22:16:45.1163517Z     Checking core v0.0.0 (/checkout/src/libcore)
2019-12-19T22:16:49.0784741Z error[E0547]: missing 'issue'
2019-12-19T22:16:49.0785091Z     --> src/libcore/num/mod.rs:1178:13
2019-12-19T22:16:49.0785684Z      |
2019-12-19T22:16:49.0786065Z 257  | / macro_rules! int_impl {
2019-12-19T22:16:49.0786875Z 258  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:16:49.0787650Z 259  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:16:49.0788010Z 260  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:16:49.0792619Z 1178 | |             #[rustc_const_unstable(feature = "const_saturating_int_methods")]
2019-12-19T22:16:49.0793167Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:16:49.0793469Z ...    |
2019-12-19T22:16:49.0793753Z 2606 | |     }
2019-12-19T22:16:49.0793753Z 2606 | |     }
2019-12-19T22:16:49.0794050Z 2607 | | }
2019-12-19T22:16:49.0794359Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:16:49.0794567Z ...
2019-12-19T22:16:49.0795147Z 2611 | /     int_impl! { i8, i8, u8, 8, -128, 127, "", "", 2, "-0x7e", "0xa", "0x12", "0x12", "0x48",
2019-12-19T22:16:49.0795525Z 2612 | |     "[0x12]", "[0x12]", "", "" }
2019-12-19T22:16:49.0796044Z 
2019-12-19T22:16:49.1705882Z error[E0547]: missing 'issue'
2019-12-19T22:16:49.1706272Z     --> src/libcore/num/mod.rs:1207:13
2019-12-19T22:16:49.1706545Z      |
2019-12-19T22:16:49.1706545Z      |
2019-12-19T22:16:49.1706874Z 257  | / macro_rules! int_impl {
2019-12-19T22:16:49.1707312Z 258  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:16:49.1707747Z 259  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:16:49.1708291Z 260  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:16:49.1709091Z 1207 | |             #[rustc_const_unstable(feature = "const_saturating_int_methods")]
2019-12-19T22:16:49.1709616Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:16:49.1709879Z ...    |
2019-12-19T22:16:49.1710164Z 2606 | |     }
2019-12-19T22:16:49.1710164Z 2606 | |     }
2019-12-19T22:16:49.1710462Z 2607 | | }
2019-12-19T22:16:49.1710963Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:16:49.1711180Z ...
2019-12-19T22:16:49.1711597Z 2611 | /     int_impl! { i8, i8, u8, 8, -128, 127, "", "", 2, "-0x7e", "0xa", "0x12", "0x12", "0x48",
2019-12-19T22:16:49.1711933Z 2612 | |     "[0x12]", "[0x12]", "", "" }
2019-12-19T22:16:49.1712351Z 
2019-12-19T22:16:49.2666391Z error[E0547]: missing 'issue'
2019-12-19T22:16:49.2666931Z     --> src/libcore/num/mod.rs:1178:13
2019-12-19T22:16:49.2667239Z      |
2019-12-19T22:16:49.2667239Z      |
2019-12-19T22:16:49.2667556Z 257  | / macro_rules! int_impl {
2019-12-19T22:16:49.2667953Z 258  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:16:49.2668374Z 259  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:16:49.2668921Z 260  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:16:49.2669630Z 1178 | |             #[rustc_const_unstable(feature = "const_saturating_int_methods")]
2019-12-19T22:16:49.2670923Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:16:49.2671202Z ...    |
2019-12-19T22:16:49.2671475Z 2606 | |     }
2019-12-19T22:16:49.2671475Z 2606 | |     }
2019-12-19T22:16:49.2671761Z 2607 | | }
2019-12-19T22:16:49.2672070Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:16:49.2672274Z ...
2019-12-19T22:16:49.2672671Z 2617 | /     int_impl! { i16, i16, u16, 16, -32768, 32767, "", "", 4, "-0x5ffd", "0x3a", "0x1234", "0x3412",
2019-12-19T22:16:49.2673038Z 2618 | |     "0x2c48", "[0x34, 0x12]", "[0x12, 0x34]", "", "" }
2019-12-19T22:16:49.2673457Z 
2019-12-19T22:16:49.3472673Z error[E0547]: missing 'issue'
2019-12-19T22:16:49.3473117Z     --> src/libcore/num/mod.rs:1207:13
2019-12-19T22:16:49.3473363Z      |
2019-12-19T22:16:49.3473363Z      |
2019-12-19T22:16:49.3473712Z 257  | / macro_rules! int_impl {
2019-12-19T22:16:49.3474154Z 258  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:16:49.3474583Z 259  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:16:49.3474969Z 260  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:16:49.3475634Z 1207 | |             #[rustc_const_unstable(feature = "const_saturating_int_methods")]
2019-12-19T22:16:49.3476006Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:16:49.3476274Z ...    |
2019-12-19T22:16:49.3476590Z 2606 | |     }
2019-12-19T22:16:49.3476590Z 2606 | |     }
2019-12-19T22:16:49.3476880Z 2607 | | }
2019-12-19T22:16:49.3477215Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:16:49.3477434Z ...
2019-12-19T22:16:49.3477839Z 2617 | /     int_impl! { i16, i16, u16, 16, -32768, 32767, "", "", 4, "-0x5ffd", "0x3a", "0x1234", "0x3412",
2019-12-19T22:16:49.3478403Z 2618 | |     "0x2c48", "[0x34, 0x12]", "[0x12, 0x34]", "", "" }
2019-12-19T22:16:49.3478985Z 
2019-12-19T22:16:49.3953504Z error[E0547]: missing 'issue'
2019-12-19T22:16:49.3953898Z     --> src/libcore/num/mod.rs:1178:13
2019-12-19T22:16:49.3954179Z      |
2019-12-19T22:16:49.3954179Z      |
2019-12-19T22:16:49.3954503Z 257  | / macro_rules! int_impl {
2019-12-19T22:16:49.3954946Z 258  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:16:49.3955389Z 259  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:16:49.3955770Z 260  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:16:49.3956449Z 1178 | |             #[rustc_const_unstable(feature = "const_saturating_int_methods")]
2019-12-19T22:16:49.3956840Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:16:49.3957102Z ...    |
2019-12-19T22:16:49.3957403Z 2606 | |     }
2019-12-19T22:16:49.3957403Z 2606 | |     }
2019-12-19T22:16:49.3957718Z 2607 | | }
2019-12-19T22:16:49.3958049Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:16:49.3958265Z ...
2019-12-19T22:16:49.3958684Z 2623 | /     int_impl! { i32, i32, u32, 32, -2147483648, 2147483647, "", "", 8, "0x10000b3", "0xb301",
2019-12-19T22:16:49.3959234Z 2624 | |     "0x12345678", "0x78563412", "0x1e6a2c48", "[0x78, 0x56, 0x34, 0x12]",
2019-12-19T22:16:49.3959594Z 2625 | |     "[0x12, 0x34, 0x56, 0x78]", "", "" }
2019-12-19T22:16:49.3959991Z 
2019-12-19T22:16:49.4867389Z error[E0547]: missing 'issue'
2019-12-19T22:16:49.4867906Z     --> src/libcore/num/mod.rs:1207:13
2019-12-19T22:16:49.4868156Z      |
2019-12-19T22:16:49.4868156Z      |
2019-12-19T22:16:49.4868507Z 257  | / macro_rules! int_impl {
2019-12-19T22:16:49.4868925Z 258  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:16:49.4869561Z 259  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:16:49.4869990Z 260  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:16:49.4870793Z 1207 | |             #[rustc_const_unstable(feature = "const_saturating_int_methods")]
2019-12-19T22:16:49.4871315Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:16:49.4871740Z ...    |
2019-12-19T22:16:49.4872022Z 2606 | |     }
2019-12-19T22:16:49.4872022Z 2606 | |     }
2019-12-19T22:16:49.4872305Z 2607 | | }
2019-12-19T22:16:49.4872625Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:16:49.4872844Z ...
2019-12-19T22:16:49.4873214Z 2623 | /     int_impl! { i32, i32, u32, 32, -2147483648, 2147483647, "", "", 8, "0x10000b3", "0xb301",
2019-12-19T22:16:49.4873789Z 2624 | |     "0x12345678", "0x78563412", "0x1e6a2c48", "[0x78, 0x56, 0x34, 0x12]",
2019-12-19T22:16:49.4874301Z 2625 | |     "[0x12, 0x34, 0x56, 0x78]", "", "" }
2019-12-19T22:16:49.4874883Z 
2019-12-19T22:16:49.5563424Z error[E0547]: missing 'issue'
2019-12-19T22:16:49.5563811Z     --> src/libcore/num/mod.rs:1178:13
2019-12-19T22:16:49.5564092Z      |
2019-12-19T22:16:49.5564092Z      |
2019-12-19T22:16:49.5564399Z 257  | / macro_rules! int_impl {
2019-12-19T22:16:49.5564805Z 258  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:16:49.5565197Z 259  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:16:49.5565550Z 260  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:16:49.5566806Z 1178 | |             #[rustc_const_unstable(feature = "const_saturating_int_methods")]
2019-12-19T22:16:49.5567361Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:16:49.5567628Z ...    |
2019-12-19T22:16:49.5568043Z 2606 | |     }
2019-12-19T22:16:49.5568043Z 2606 | |     }
2019-12-19T22:16:49.5568354Z 2607 | | }
2019-12-19T22:16:49.5569036Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:16:49.5569304Z ...
2019-12-19T22:16:49.5569709Z 2630 | /     int_impl! { i64, i64, u64, 64, -9223372036854775808, 9223372036854775807, "", "", 12,
2019-12-19T22:16:49.5570431Z 2631 | |     "0xaa00000000006e1", "0x6e10aa", "0x1234567890123456", "0x5634129078563412",
2019-12-19T22:16:49.5570830Z 2632 | |     "0x6a2c48091e6a2c48", "[0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]",
2019-12-19T22:16:49.5571555Z 2633 | |     "[0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]", "", "" }
2019-12-19T22:16:49.5572009Z 
2019-12-19T22:16:50.2736785Z error[E0547]: missing 'issue'
2019-12-19T22:16:50.2738092Z     --> src/libcore/num/mod.rs:1207:13
2019-12-19T22:16:50.2738603Z      |
2019-12-19T22:16:50.2738603Z      |
2019-12-19T22:16:50.2739130Z 257  | / macro_rules! int_impl {
2019-12-19T22:16:50.2739750Z 258  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:16:50.2740360Z 259  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:16:50.2740983Z 260  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:16:50.2742039Z 1207 | |             #[rustc_const_unstable(feature = "const_saturating_int_methods")]
2019-12-19T22:16:50.2742604Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:16:50.2743035Z ...    |
2019-12-19T22:16:50.2743528Z 2606 | |     }
2019-12-19T22:16:50.2743528Z 2606 | |     }
2019-12-19T22:16:50.2744043Z 2607 | | }
2019-12-19T22:16:50.2744598Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:16:50.2744991Z ...
2019-12-19T22:16:50.2745584Z 2630 | /     int_impl! { i64, i64, u64, 64, -9223372036854775808, 9223372036854775807, "", "", 12,
2019-12-19T22:16:50.2746185Z 2631 | |     "0xaa00000000006e1", "0x6e10aa", "0x1234567890123456", "0x5634129078563412",
2019-12-19T22:16:50.2766594Z 2632 | |     "0x6a2c48091e6a2c48", "[0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]",
2019-12-19T22:16:50.2767570Z 2633 | |     "[0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]", "", "" }
2019-12-19T22:16:50.2768567Z 
2019-12-19T22:16:50.2769121Z error[E0547]: missing 'issue'
2019-12-19T22:16:50.2769572Z     --> src/libcore/num/mod.rs:1178:13
2019-12-19T22:16:50.2769992Z      |
2019-12-19T22:16:50.2769992Z      |
2019-12-19T22:16:50.2770488Z 257  | / macro_rules! int_impl {
2019-12-19T22:16:50.2771052Z 258  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:16:50.2771666Z 259  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:16:50.2772205Z 260  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:16:50.2773222Z 1178 | |             #[rustc_const_unstable(feature = "const_saturating_int_methods")]
2019-12-19T22:16:50.2773785Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:16:50.2774217Z ...    |
2019-12-19T22:16:50.2774685Z 2606 | |     }
2019-12-19T22:16:50.2774685Z 2606 | |     }
2019-12-19T22:16:50.2775201Z 2607 | | }
2019-12-19T22:16:50.2775702Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:16:50.2776128Z ...
2019-12-19T22:16:50.2776689Z 2638 | /     int_impl! { i128, i128, u128, 128, -170141183460469231731687303715884105728,
2019-12-19T22:16:50.2777257Z 2639 | |     170141183460469231731687303715884105727, "", "", 16,
2019-12-19T22:16:50.2777869Z 2640 | |     "0x13f40000000000000000000000004f76", "0x4f7613f4", "0x12345678901234567890123456789012",
2019-12-19T22:16:50.2778452Z 2641 | |     "0x12907856341290785634129078563412", "0x48091e6a2c48091e6a2c48091e6a2c48",
2019-12-19T22:16:50.2778912Z ...    |
2019-12-19T22:16:50.2779462Z 2644 | |     "[0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, \
2019-12-19T22:16:50.2780033Z 2645 | |       0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12]", "", "" }
2019-12-19T22:16:50.2783702Z 
2019-12-19T22:16:50.2784100Z error[E0547]: missing 'issue'
2019-12-19T22:16:50.2784521Z     --> src/libcore/num/mod.rs:1207:13
2019-12-19T22:16:50.2784829Z      |
2019-12-19T22:16:50.2784829Z      |
2019-12-19T22:16:50.2785145Z 257  | / macro_rules! int_impl {
2019-12-19T22:16:50.2785647Z 258  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:16:50.2786068Z 259  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:16:50.2786418Z 260  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:16:50.2787075Z 1207 | |             #[rustc_const_unstable(feature = "const_saturating_int_methods")]
2019-12-19T22:16:50.2787442Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:16:50.2787728Z ...    |
2019-12-19T22:16:50.2788020Z 2606 | |     }
2019-12-19T22:16:50.2788020Z 2606 | |     }
2019-12-19T22:16:50.2788312Z 2607 | | }
2019-12-19T22:16:50.2788650Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:16:50.2788865Z ...
2019-12-19T22:16:50.2789255Z 2638 | /     int_impl! { i128, i128, u128, 128, -170141183460469231731687303715884105728,
2019-12-19T22:16:50.2789647Z 2639 | |     170141183460469231731687303715884105727, "", "", 16,
2019-12-19T22:16:50.2790070Z 2640 | |     "0x13f40000000000000000000000004f76", "0x4f7613f4", "0x12345678901234567890123456789012",
2019-12-19T22:16:50.2790489Z 2641 | |     "0x12907856341290785634129078563412", "0x48091e6a2c48091e6a2c48091e6a2c48",
2019-12-19T22:16:50.2790744Z ...    |
2019-12-19T22:16:50.2791097Z 2644 | |     "[0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, \
2019-12-19T22:16:50.2791497Z 2645 | |       0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12]", "", "" }
2019-12-19T22:16:50.2791927Z 
2019-12-19T22:16:50.2792194Z error[E0547]: missing 'issue'
2019-12-19T22:16:50.2792459Z     --> src/libcore/num/mod.rs:1178:13
2019-12-19T22:16:50.2792681Z      |
2019-12-19T22:16:50.2792681Z      |
2019-12-19T22:16:50.2793010Z 257  | / macro_rules! int_impl {
2019-12-19T22:16:50.2793396Z 258  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:16:50.2793897Z 259  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:16:50.2794342Z 260  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:16:50.2794986Z 1178 | |             #[rustc_const_unstable(feature = "const_saturating_int_methods")]
2019-12-19T22:16:50.2795352Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:16:50.2795604Z ...    |
2019-12-19T22:16:50.2795931Z 2606 | |     }
2019-12-19T22:16:50.2795931Z 2606 | |     }
2019-12-19T22:16:50.2796227Z 2607 | | }
2019-12-19T22:16:50.2796570Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:16:50.2796787Z ...
2019-12-19T22:16:50.2797168Z 2668 | /     int_impl! { isize, i64, u64, 64, -9223372036854775808, 9223372036854775807, "", "",
2019-12-19T22:16:50.2797587Z 2669 | |     12, "0xaa00000000006e1", "0x6e10aa",  "0x1234567890123456", "0x5634129078563412",
2019-12-19T22:16:50.2797996Z 2670 | |      "0x6a2c48091e6a2c48", "[0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]",
2019-12-19T22:16:50.2798362Z 2671 | |      "[0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]",
2019-12-19T22:16:50.2798763Z 2672 | |      usize_isize_to_xe_bytes_doc!(), usize_isize_from_xe_bytes_doc!() }
2019-12-19T22:16:50.2799210Z 
2019-12-19T22:16:50.2799457Z error[E0547]: missing 'issue'
2019-12-19T22:16:50.2799719Z     --> src/libcore/num/mod.rs:1207:13
2019-12-19T22:16:50.2799941Z      |
2019-12-19T22:16:50.2799941Z      |
2019-12-19T22:16:50.2800281Z 257  | / macro_rules! int_impl {
2019-12-19T22:16:50.2800668Z 258  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:16:50.2801092Z 259  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:16:50.2801446Z 260  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:16:50.2802083Z 1207 | |             #[rustc_const_unstable(feature = "const_saturating_int_methods")]
2019-12-19T22:16:50.2802529Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:16:50.2802839Z ...    |
2019-12-19T22:16:50.2803243Z 2606 | |     }
2019-12-19T22:16:50.2803243Z 2606 | |     }
2019-12-19T22:16:50.2803538Z 2607 | | }
2019-12-19T22:16:50.2803879Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:16:50.2804162Z ...
2019-12-19T22:16:50.2804544Z 2668 | /     int_impl! { isize, i64, u64, 64, -9223372036854775808, 9223372036854775807, "", "",
2019-12-19T22:16:50.2804973Z 2669 | |     12, "0xaa00000000006e1", "0x6e10aa",  "0x1234567890123456", "0x5634129078563412",
2019-12-19T22:16:50.2805376Z 2670 | |      "0x6a2c48091e6a2c48", "[0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]",
2019-12-19T22:16:50.2805950Z 2671 | |      "[0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]",
2019-12-19T22:16:50.2806408Z 2672 | |      usize_isize_to_xe_bytes_doc!(), usize_isize_from_xe_bytes_doc!() }
2019-12-19T22:16:50.2806854Z 
2019-12-19T22:16:50.2807132Z error[E0658]: `if` is not allowed in a `const fn`
2019-12-19T22:16:50.2807401Z     --> src/libcore/num/mod.rs:1212:17
2019-12-19T22:16:50.2807642Z      |
2019-12-19T22:16:50.2807642Z      |
2019-12-19T22:16:50.2807978Z 257  |  / macro_rules! int_impl {
2019-12-19T22:16:50.2808371Z 258  |  |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:16:50.2808803Z 259  |  |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:16:50.2809183Z 260  |  |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:16:50.2809470Z ...     |
2019-12-19T22:16:50.2809821Z 1212 | /|                 if self.is_negative() {
2019-12-19T22:16:50.2810188Z 1213 | ||                     self.saturating_neg()
2019-12-19T22:16:50.2810555Z 1214 | ||                 } else {
2019-12-19T22:16:50.2810900Z 1215 | ||                     self
2019-12-19T22:16:50.2811253Z 1216 | ||                 }
2019-12-19T22:16:50.2811686Z      | ||_________________^
2019-12-19T22:16:50.2812419Z 2606 |  |     }
2019-12-19T22:16:50.2812725Z 2607 |  | }
2019-12-19T22:16:50.2813050Z      |  |_- in this expansion of `int_impl!`
2019-12-19T22:16:50.2813284Z ...
2019-12-19T22:16:50.2813284Z ...
2019-12-19T22:16:50.2813672Z 2611 | /      int_impl! { i8, i8, u8, 8, -128, 127, "", "", 2, "-0x7e", "0xa", "0x12", "0x12", "0x48",
2019-12-19T22:16:50.2814016Z 2612 | |      "[0x12]", "[0x12]", "", "" }
2019-12-19T22:16:50.2814663Z      |
2019-12-19T22:16:50.2814663Z      |
2019-12-19T22:16:50.2815100Z      = note: for more information, see ***/issues/49146
2019-12-19T22:16:50.2815445Z      = help: add `#![feature(const_if_match)]` to the crate attributes to enable
2019-12-19T22:16:50.2815771Z error[E0658]: `if` is not allowed in a `const fn`
2019-12-19T22:16:50.2816041Z     --> src/libcore/num/mod.rs:1212:17
2019-12-19T22:16:50.2816261Z      |
2019-12-19T22:16:50.2816606Z 257  |  / macro_rules! int_impl {
2019-12-19T22:16:50.2816606Z 257  |  / macro_rules! int_impl {
2019-12-19T22:16:50.2817007Z 258  |  |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:16:50.2817420Z 259  |  |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:16:50.2817925Z 260  |  |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:16:50.2818181Z ...     |
2019-12-19T22:16:50.2818550Z 1212 | /|                 if self.is_negative() {
2019-12-19T22:16:50.2818923Z 1213 | ||                     self.saturating_neg()
2019-12-19T22:16:50.2819276Z 1214 | ||                 } else {
2019-12-19T22:16:50.2819640Z 1215 | ||                     self
2019-12-19T22:16:50.2819975Z 1216 | ||                 }
2019-12-19T22:16:50.2820313Z      | ||_________________^
2019-12-19T22:16:50.2820973Z 2606 |  |     }
2019-12-19T22:16:50.2821330Z 2607 |  | }
2019-12-19T22:16:50.2821824Z      |  |_- in this expansion of `int_impl!`
2019-12-19T22:16:50.2822052Z ...
2019-12-19T22:16:50.2822052Z ...
2019-12-19T22:16:50.2822477Z 2617 | /      int_impl! { i16, i16, u16, 16, -32768, 32767, "", "", 4, "-0x5ffd", "0x3a", "0x1234", "0x3412",
2019-12-19T22:16:50.2822844Z 2618 | |      "0x2c48", "[0x34, 0x12]", "[0x12, 0x34]", "", "" }
2019-12-19T22:16:50.2823476Z      |
2019-12-19T22:16:50.2823476Z      |
2019-12-19T22:16:50.2824001Z      = note: for more information, see ***/issues/49146
2019-12-19T22:16:50.2824363Z      = help: add `#![feature(const_if_match)]` to the crate attributes to enable
2019-12-19T22:16:50.2946697Z error[E0658]: `if` is not allowed in a `const fn`
2019-12-19T22:16:50.2947097Z     --> src/libcore/num/mod.rs:1212:17
2019-12-19T22:16:50.2947334Z      |
2019-12-19T22:16:50.2947678Z 257  |  / macro_rules! int_impl {
2019-12-19T22:16:50.2947678Z 257  |  / macro_rules! int_impl {
2019-12-19T22:16:50.2948142Z 258  |  |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:16:50.2948554Z 259  |  |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:16:50.2948960Z 260  |  |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:16:50.2949227Z ...     |
2019-12-19T22:16:50.2949581Z 1212 | /|                 if self.is_negative() {
2019-12-19T22:16:50.2949967Z 1213 | ||                     self.saturating_neg()
2019-12-19T22:16:50.2950319Z 1214 | ||                 } else {
2019-12-19T22:16:50.2950664Z 1215 | ||                     self
2019-12-19T22:16:50.2951037Z 1216 | ||                 }
2019-12-19T22:16:50.2951362Z      | ||_________________^
2019-12-19T22:16:50.2951952Z 2606 |  |     }
2019-12-19T22:16:50.2952251Z 2607 |  | }
2019-12-19T22:16:50.2952767Z      |  |_- in this expansion of `int_impl!`
2019-12-19T22:16:50.2953042Z ...
2019-12-19T22:16:50.2953042Z ...
2019-12-19T22:16:50.2953440Z 2623 | /      int_impl! { i32, i32, u32, 32, -2147483648, 2147483647, "", "", 8, "0x10000b3", "0xb301",
2019-12-19T22:16:50.2953988Z 2624 | |      "0x12345678", "0x78563412", "0x1e6a2c48", "[0x78, 0x56, 0x34, 0x12]",
2019-12-19T22:16:50.2954336Z 2625 | |      "[0x12, 0x34, 0x56, 0x78]", "", "" }
2019-12-19T22:16:50.2954943Z      |
2019-12-19T22:16:50.2954943Z      |
2019-12-19T22:16:50.2955375Z      = note: for more information, see ***/issues/49146
2019-12-19T22:16:50.2955750Z      = help: add `#![feature(const_if_match)]` to the crate attributes to enable
2019-12-19T22:16:50.3863424Z error[E0658]: `if` is not allowed in a `const fn`
2019-12-19T22:16:50.3865773Z     --> src/libcore/num/mod.rs:1212:17
2019-12-19T22:16:50.3866121Z      |
2019-12-19T22:16:50.3866471Z 257  |  / macro_rules! int_impl {
2019-12-19T22:16:50.3866471Z 257  |  / macro_rules! int_impl {
2019-12-19T22:16:50.3866901Z 258  |  |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:16:50.3867375Z 259  |  |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:16:50.3867762Z 260  |  |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:16:50.3868048Z ...     |
2019-12-19T22:16:50.3868556Z 1212 | /|                 if self.is_negative() {
2019-12-19T22:16:50.3869106Z 1213 | ||                     self.saturating_neg()
2019-12-19T22:16:50.3869459Z 1214 | ||                 } else {
2019-12-19T22:16:50.3869801Z 1215 | ||                     self
2019-12-19T22:16:50.3870171Z 1216 | ||                 }
2019-12-19T22:16:50.3870486Z      | ||_________________^
2019-12-19T22:16:50.3871065Z 2606 |  |     }
2019-12-19T22:16:50.3871367Z 2607 |  | }
2019-12-19T22:16:50.3871875Z      |  |_- in this expansion of `int_impl!`
2019-12-19T22:16:50.3872177Z ...
2019-12-19T22:16:50.3872177Z ...
2019-12-19T22:16:50.3872568Z 2630 | /      int_impl! { i64, i64, u64, 64, -9223372036854775808, 9223372036854775807, "", "", 12,
2019-12-19T22:16:50.3873121Z 2631 | |      "0xaa00000000006e1", "0x6e10aa", "0x1234567890123456", "0x5634129078563412",
2019-12-19T22:16:50.3873520Z 2632 | |      "0x6a2c48091e6a2c48", "[0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]",
2019-12-19T22:16:50.3873886Z 2633 | |      "[0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]", "", "" }
2019-12-19T22:16:50.3874535Z      |
2019-12-19T22:16:50.3874535Z      |
2019-12-19T22:16:50.3875075Z      = note: for more information, see ***/issues/49146
2019-12-19T22:16:50.3875435Z      = help: add `#![feature(const_if_match)]` to the crate attributes to enable
2019-12-19T22:16:50.4732817Z error[E0658]: `if` is not allowed in a `const fn`
2019-12-19T22:16:50.4733191Z     --> src/libcore/num/mod.rs:1212:17
2019-12-19T22:16:50.4733408Z      |
2019-12-19T22:16:50.4733712Z 257  |  / macro_rules! int_impl {
2019-12-19T22:16:50.4733712Z 257  |  / macro_rules! int_impl {
2019-12-19T22:16:50.4734138Z 258  |  |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:16:50.4734513Z 259  |  |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:16:50.4734891Z 260  |  |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:16:50.4735133Z ...     |
2019-12-19T22:16:50.4735454Z 1212 | /|                 if self.is_negative() {
2019-12-19T22:16:50.4735814Z 1213 | ||                     self.saturating_neg()
2019-12-19T22:16:50.4736125Z 1214 | ||                 } else {
2019-12-19T22:16:50.4736463Z 1215 | ||                     self
2019-12-19T22:16:50.4736769Z 1216 | ||                 }
2019-12-19T22:16:50.4737060Z      | ||_________________^
2019-12-19T22:16:50.4737602Z 2606 |  |     }
2019-12-19T22:16:50.4738029Z 2607 |  | }
2019-12-19T22:16:50.4738409Z      |  |_- in this expansion of `int_impl!`
2019-12-19T22:16:50.4738736Z ...
2019-12-19T22:16:50.4738736Z ...
2019-12-19T22:16:50.4739081Z 2638 | /      int_impl! { i128, i128, u128, 128, -170141183460469231731687303715884105728,
2019-12-19T22:16:50.4739439Z 2639 | |      170141183460469231731687303715884105727, "", "", 16,
2019-12-19T22:16:50.4739803Z 2640 | |      "0x13f40000000000000000000000004f76", "0x4f7613f4", "0x12345678901234567890123456789012",
2019-12-19T22:16:50.4740192Z 2641 | |      "0x12907856341290785634129078563412", "0x48091e6a2c48091e6a2c48091e6a2c48",
2019-12-19T22:16:50.4740425Z ...    |
2019-12-19T22:16:50.4740747Z 2644 | |      "[0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, \
2019-12-19T22:16:50.4741121Z 2645 | |        0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12]", "", "" }
2019-12-19T22:16:50.4741701Z      |
2019-12-19T22:16:50.4741701Z      |
2019-12-19T22:16:50.4742107Z      = note: for more information, see ***/issues/49146
2019-12-19T22:16:50.4742453Z      = help: add `#![feature(const_if_match)]` to the crate attributes to enable
2019-12-19T22:16:50.5465192Z error[E0658]: `if` is not allowed in a `const fn`
2019-12-19T22:16:50.5465793Z     --> src/libcore/num/mod.rs:1212:17
2019-12-19T22:16:50.5466254Z      |
2019-12-19T22:16:50.5466567Z 257  |  / macro_rules! int_impl {
2019-12-19T22:16:50.5466567Z 257  |  / macro_rules! int_impl {
2019-12-19T22:16:50.5467159Z 258  |  |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:16:50.5467553Z 259  |  |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:16:50.5468165Z 260  |  |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:16:50.5468456Z ...     |
2019-12-19T22:16:50.5468819Z 1212 | /|                 if self.is_negative() {
2019-12-19T22:16:50.5469194Z 1213 | ||                     self.saturating_neg()
2019-12-19T22:16:50.5469849Z 1214 | ||                 } else {
2019-12-19T22:16:50.5470165Z 1215 | ||                     self
2019-12-19T22:16:50.5470663Z 1216 | ||                 }
2019-12-19T22:16:50.5471028Z      | ||_________________^
2019-12-19T22:16:50.5471703Z 2606 |  |     }
2019-12-19T22:16:50.5471981Z 2607 |  | }
2019-12-19T22:16:50.5472308Z      |  |_- in this expansion of `int_impl!`
2019-12-19T22:16:50.5472512Z ...
2019-12-19T22:16:50.5472512Z ...
2019-12-19T22:16:50.5472880Z 2668 | /      int_impl! { isize, i64, u64, 64, -9223372036854775808, 9223372036854775807, "", "",
2019-12-19T22:16:50.5473280Z 2669 | |      12, "0xaa00000000006e1", "0x6e10aa",  "0x1234567890123456", "0x5634129078563412",
2019-12-19T22:16:50.5473661Z 2670 | |       "0x6a2c48091e6a2c48", "[0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]",
2019-12-19T22:16:50.5474003Z 2671 | |       "[0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]",
2019-12-19T22:16:50.5474407Z 2672 | |       usize_isize_to_xe_bytes_doc!(), usize_isize_from_xe_bytes_doc!() }
2019-12-19T22:16:50.5475005Z      |
2019-12-19T22:16:50.5475005Z      |
2019-12-19T22:16:50.5475402Z      = note: for more information, see ***/issues/49146
2019-12-19T22:16:50.5475760Z      = help: add `#![feature(const_if_match)]` to the crate attributes to enable
2019-12-19T22:16:53.2667338Z    Compiling build_helper v0.1.0 (/checkout/src/build_helper)
2019-12-19T22:16:54.8318937Z    Compiling libc v0.2.64
2019-12-19T22:16:55.7063358Z    Compiling autocfg v0.1.6
2019-12-19T22:16:57.1816331Z error: aborting due to 18 previous errors
---
2019-12-19T22:16:57.3096434Z   local time: Thu Dec 19 22:16:57 UTC 2019
2019-12-19T22:16:57.5735037Z   network time: Thu, 19 Dec 2019 22:16:57 GMT
2019-12-19T22:16:57.5736924Z == end clock drift check ==
2019-12-19T22:17:11.5171933Z 
2019-12-19T22:17:11.5286788Z ##[error]Bash exited with code '1'.
2019-12-19T22:17:11.5312328Z ##[section]Starting: Checkout
2019-12-19T22:17:11.5314058Z ==============================================================================
2019-12-19T22:17:11.5314110Z Task         : Get sources
2019-12-19T22:17:11.5314173Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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

- New boostrap compiler! Delete the non-const bootstrap copies of the
  fns.
- Factor the assert_same_const! macro to
  src/test/ui/consts/auxiliary/const_assert_lib.rs and apply the fix Oli
  suggested,
  > In order to prevent promotion from making this test useless because
  > it ends up promoting the assert argument
@rust-highfive
Copy link
Collaborator

The job mingw-check of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-12-19T22:31:22.6214528Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-12-19T22:31:22.6388077Z ##[command]git config gc.auto 0
2019-12-19T22:31:22.6468311Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-12-19T22:31:22.6530234Z ##[command]git config --get-all http.proxy
2019-12-19T22:31:22.6678700Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/66884/merge:refs/remotes/pull/66884/merge
---
2019-12-19T22:36:14.1877335Z ...
2019-12-19T22:36:14.1877707Z 1625 | }
2019-12-19T22:36:14.1877992Z      |   ^
2019-12-19T22:36:14.1878033Z 
2019-12-19T22:36:14.1923990Z error: expected one of `async`, `const`, `crate`, `default`, `extern`, `fn`, `pub`, `type`, or `unsafe`, found keyword `impl`
2019-12-19T22:36:14.1924530Z      |
2019-12-19T22:36:14.1924815Z 1211 | #[stable(feature = "rust1", since = "1.0.0")]
2019-12-19T22:36:14.1925130Z      |                                              - expected one of 9 possible tokens
2019-12-19T22:36:14.1925130Z      |                                              - expected one of 9 possible tokens
2019-12-19T22:36:14.1925382Z 1212 | impl<T: Clone> Clone for Option<T> {
2019-12-19T22:36:14.1925893Z 
2019-12-19T22:36:16.6378345Z error[E0412]: cannot find type `IntoIter` in module `crate::option`
2019-12-19T22:36:16.6378760Z    --> src/libcore/iter/sources.rs:297:27
2019-12-19T22:36:16.6379005Z     |
---
2019-12-19T22:36:16.6603436Z 
2019-12-19T22:36:16.6712919Z error[E0422]: cannot find struct, variant or union type `Iter` in this scope
2019-12-19T22:36:16.6713189Z    --> src/libcore/option.rs:582:9
2019-12-19T22:36:16.6713402Z     |
2019-12-19T22:36:16.6713644Z 582 |         Iter { inner: Item { opt: self.as_ref() } }
2019-12-19T22:36:16.6714123Z     |
2019-12-19T22:36:16.6714528Z help: possible candidates are found in other modules, you can import them into scope
2019-12-19T22:36:16.6714753Z     |
2019-12-19T22:36:16.6714991Z 140 | use crate::result::Iter;
2019-12-19T22:36:16.6714991Z 140 | use crate::result::Iter;
2019-12-19T22:36:16.6715168Z     |
2019-12-19T22:36:16.6715384Z 140 | use crate::slice::Iter;
2019-12-19T22:36:16.6715578Z     |
2019-12-19T22:36:16.6715606Z 
2019-12-19T22:36:16.6800271Z error[E0422]: cannot find struct, variant or union type `Item` in this scope
2019-12-19T22:36:16.6800810Z    --> src/libcore/option.rs:582:23
2019-12-19T22:36:16.6801000Z     |
2019-12-19T22:36:16.6801242Z 582 |         Iter { inner: Item { opt: self.as_ref() } }
2019-12-19T22:36:16.6801773Z 
2019-12-19T22:36:16.6920133Z error[E0412]: cannot find type `IterMut` in this scope
2019-12-19T22:36:16.6920666Z    --> src/libcore/option.rs:602:35
2019-12-19T22:36:16.6920854Z     |
2019-12-19T22:36:16.6920854Z     |
2019-12-19T22:36:16.6921098Z 602 |     pub fn iter_mut(&mut self) -> IterMut<'_, T> {
2019-12-19T22:36:16.6921581Z     |
2019-12-19T22:36:16.6921837Z help: possible candidates are found in other modules, you can import them into scope
2019-12-19T22:36:16.6922041Z     |
2019-12-19T22:36:16.6922265Z 140 | use crate::result::IterMut;
2019-12-19T22:36:16.6922265Z 140 | use crate::result::IterMut;
2019-12-19T22:36:16.6922441Z     |
2019-12-19T22:36:16.6922676Z 140 | use crate::slice::IterMut;
2019-12-19T22:36:16.6922855Z     |
2019-12-19T22:36:16.6922883Z 
2019-12-19T22:36:16.7045445Z error[E0422]: cannot find struct, variant or union type `IterMut` in this scope
2019-12-19T22:36:16.7045733Z    --> src/libcore/option.rs:603:9
2019-12-19T22:36:16.7045929Z     |
2019-12-19T22:36:16.7046206Z 603 |         IterMut { inner: Item { opt: self.as_mut() } }
2019-12-19T22:36:16.7047486Z     |
2019-12-19T22:36:16.7047817Z help: possible candidates are found in other modules, you can import them into scope
2019-12-19T22:36:16.7048055Z     |
2019-12-19T22:36:16.7048343Z 140 | use crate::result::IterMut;
2019-12-19T22:36:16.7048343Z 140 | use crate::result::IterMut;
2019-12-19T22:36:16.7048590Z     |
2019-12-19T22:36:16.7048878Z 140 | use crate::slice::IterMut;
2019-12-19T22:36:16.7049110Z     |
2019-12-19T22:36:16.7049147Z 
2019-12-19T22:36:16.7140099Z error[E0422]: cannot find struct, variant or union type `Item` in this scope
2019-12-19T22:36:16.7140621Z    --> src/libcore/option.rs:603:26
2019-12-19T22:36:16.7141020Z     |
2019-12-19T22:36:16.7141417Z 603 |         IterMut { inner: Item { opt: self.as_mut() } }
2019-12-19T22:36:16.7141773Z 
2019-12-19T22:36:16.7232974Z error[E0425]: cannot find function `expect_none_failed` in this scope
2019-12-19T22:36:16.7233255Z     --> src/libcore/option.rs:1030:13
2019-12-19T22:36:16.7233630Z      |
2019-12-19T22:36:16.7233630Z      |
2019-12-19T22:36:16.7233924Z 1030 |             expect_none_failed(msg, &val);
2019-12-19T22:36:16.7234429Z 
2019-12-19T22:36:16.7328013Z error[E0425]: cannot find function `expect_none_failed` in this scope
2019-12-19T22:36:16.7328361Z     --> src/libcore/option.rs:1072:13
2019-12-19T22:36:16.7328603Z      |
2019-12-19T22:36:16.7328603Z      |
2019-12-19T22:36:16.7328993Z 1072 |             expect_none_failed("called `Option::unwrap_none()` on a `Some` value", &val);
2019-12-19T22:36:16.7329391Z 
2019-12-19T22:36:16.7455971Z error[E0412]: cannot find type `IntoIter` in module `option`
2019-12-19T22:36:16.7456282Z     --> src/libcore/str/mod.rs:4479:25
2019-12-19T22:36:16.7456524Z      |
2019-12-19T22:36:16.7456524Z      |
2019-12-19T22:36:16.7457402Z 4479 |         Flatten<option::IntoIter<char::EscapeDebug>>,
2019-12-19T22:36:16.7458084Z      |
2019-12-19T22:36:16.7458398Z help: possible candidates are found in other modules, you can import them into scope
2019-12-19T22:36:16.7458632Z      |
2019-12-19T22:36:16.7458942Z 10   | use crate::array::iter::IntoIter;
2019-12-19T22:36:16.7458942Z 10   | use crate::array::iter::IntoIter;
2019-12-19T22:36:16.7459177Z      |
2019-12-19T22:36:16.7459466Z 10   | use crate::result::IntoIter;
2019-12-19T22:36:16.7459732Z      |
2019-12-19T22:36:16.7459769Z 
2019-12-19T22:36:17.2893184Z error: unused imports: `FromIterator`, `FusedIterator`, `TrustedLen`
2019-12-19T22:36:17.2893912Z     |
2019-12-19T22:36:17.2893912Z     |
2019-12-19T22:36:17.2894169Z 140 | use crate::iter::{FromIterator, FusedIterator, TrustedLen};
2019-12-19T22:36:17.2894698Z     |
2019-12-19T22:36:17.2894957Z     = note: `-D unused-imports` implied by `-D warnings`
2019-12-19T22:36:17.2894996Z 
2019-12-19T22:36:17.2944662Z error: unused imports: `convert`, `self`
2019-12-19T22:36:17.2944662Z error: unused imports: `convert`, `self`
2019-12-19T22:36:17.2945098Z    --> src/libcore/option.rs:143:5
2019-12-19T22:36:17.2945332Z     |
2019-12-19T22:36:17.2945563Z 143 |     convert, fmt, hint, mem,
2019-12-19T22:36:17.2945798Z     |     ^^^^^^^
2019-12-19T22:36:17.2946036Z 144 |     ops::{self, Deref, DerefMut},
2019-12-19T22:36:17.2946287Z 
2019-12-19T22:36:17.9186272Z error[E0547]: missing 'issue'
2019-12-19T22:36:17.9186598Z    --> src/libcore/num/mod.rs:73:17
2019-12-19T22:36:17.9186805Z     |
2019-12-19T22:36:17.9186805Z     |
2019-12-19T22:36:17.9187499Z 35  | / macro_rules! nonzero_integers {
2019-12-19T22:36:17.9187830Z 36  | |     ( $( #[$stability: meta] $Ty: ident($Int: ty); )+ ) => {
2019-12-19T22:36:17.9188388Z 38  | |             doc_comment! {
2019-12-19T22:36:17.9188599Z ...   |
2019-12-19T22:36:17.9188914Z 73  | |                 #[rustc_const_unstable(feature = "const_int_nonzero")]
2019-12-19T22:36:17.9189211Z     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:36:17.9189211Z     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:36:17.9189457Z ...   |
2019-12-19T22:36:17.9189715Z 104 | |     }
2019-12-19T22:36:17.9189960Z 105 | | }
2019-12-19T22:36:17.9190252Z     | |_- in this expansion of `nonzero_integers!`
2019-12-19T22:36:17.9190463Z 106 | 
2019-12-19T22:36:17.9190719Z 107 | / nonzero_integers! {
2019-12-19T22:36:17.9191035Z 108 | |     #[stable(feature = "nonzero", since = "1.28.0")] NonZeroU8(u8);
2019-12-19T22:36:17.9191356Z 109 | |     #[stable(feature = "nonzero", since = "1.28.0")] NonZeroU16(u16);
2019-12-19T22:36:17.9191681Z 110 | |     #[stable(feature = "nonzero", since = "1.28.0")] NonZeroU32(u32);
2019-12-19T22:36:17.9192078Z ...   |
2019-12-19T22:36:17.9192392Z 119 | |     #[stable(feature = "signed_nonzero", since = "1.34.0")] NonZeroIsize(isize);
2019-12-19T22:36:17.9192940Z     | |_- in this macro invocation
2019-12-19T22:36:17.9192997Z 
2019-12-19T22:36:17.9938983Z error[E0547]: missing 'issue'
2019-12-19T22:36:17.9939355Z     --> src/libcore/num/mod.rs:648:13
2019-12-19T22:36:17.9939355Z     --> src/libcore/num/mod.rs:648:13
2019-12-19T22:36:17.9939818Z      |
2019-12-19T22:36:17.9940271Z 243  | / macro_rules! int_impl {
2019-12-19T22:36:17.9940860Z 244  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:36:17.9941395Z 245  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:36:17.9941698Z 246  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:36:17.9942678Z 648  | |             #[rustc_const_unstable(feature = "const_int_checked")]
2019-12-19T22:36:17.9942984Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:36:17.9943194Z ...    |
2019-12-19T22:36:17.9943436Z 2300 | |     }
2019-12-19T22:36:17.9943436Z 2300 | |     }
2019-12-19T22:36:17.9943691Z 2301 | | }
2019-12-19T22:36:17.9943951Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:36:17.9944125Z ...
2019-12-19T22:36:17.9944472Z 2305 | /     int_impl! { i8, i8, u8, 8, -128, 127, "", "", 2, "-0x7e", "0xa", "0x12", "0x12", "0x48",
2019-12-19T22:36:17.9944746Z 2306 | |     "[0x12]", "[0x12]", "", "" }
2019-12-19T22:36:17.9945076Z 
2019-12-19T22:36:18.0347302Z error[E0547]: missing 'issue'
2019-12-19T22:36:18.0348956Z     --> src/libcore/num/mod.rs:673:13
2019-12-19T22:36:18.0349285Z      |
2019-12-19T22:36:18.0349285Z      |
2019-12-19T22:36:18.0349637Z 243  | / macro_rules! int_impl {
2019-12-19T22:36:18.0350334Z 244  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:36:18.0351029Z 245  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:36:18.0351347Z 246  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:36:18.0351923Z 673  | |             #[rustc_const_unstable(feature = "const_int_checked")]
2019-12-19T22:36:18.0352230Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:36:18.0352480Z ...    |
2019-12-19T22:36:18.0352888Z 2300 | |     }
2019-12-19T22:36:18.0352888Z 2300 | |     }
2019-12-19T22:36:18.0353197Z 2301 | | }
2019-12-19T22:36:18.0353463Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:36:18.0353661Z ...
2019-12-19T22:36:18.0353980Z 2305 | /     int_impl! { i8, i8, u8, 8, -128, 127, "", "", 2, "-0x7e", "0xa", "0x12", "0x12", "0x48",
2019-12-19T22:36:18.0354454Z 2306 | |     "[0x12]", "[0x12]", "", "" }
2019-12-19T22:36:18.0355092Z 
2019-12-19T22:36:18.0869560Z error[E0547]: missing 'issue'
2019-12-19T22:36:18.0873371Z     --> src/libcore/num/mod.rs:698:13
2019-12-19T22:36:18.0873634Z      |
2019-12-19T22:36:18.0873634Z      |
2019-12-19T22:36:18.0873887Z 243  | / macro_rules! int_impl {
2019-12-19T22:36:18.0874211Z 244  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:36:18.0874522Z 245  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:36:18.0874848Z 246  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:36:18.0875340Z 698  | |             #[rustc_const_unstable(feature = "const_int_checked")]
2019-12-19T22:36:18.0875631Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:36:18.0875834Z ...    |
2019-12-19T22:36:18.0876071Z 2300 | |     }
2019-12-19T22:36:18.0876071Z 2300 | |     }
2019-12-19T22:36:18.0876364Z 2301 | | }
2019-12-19T22:36:18.0876802Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:36:18.0877444Z ...
2019-12-19T22:36:18.0877898Z 2305 | /     int_impl! { i8, i8, u8, 8, -128, 127, "", "", 2, "-0x7e", "0xa", "0x12", "0x12", "0x48",
2019-12-19T22:36:18.0878240Z 2306 | |     "[0x12]", "[0x12]", "", "" }
2019-12-19T22:36:18.0878654Z 
2019-12-19T22:36:18.1713539Z error[E0547]: missing 'issue'
2019-12-19T22:36:18.1714799Z     --> src/libcore/num/mod.rs:724:13
2019-12-19T22:36:18.1715027Z      |
2019-12-19T22:36:18.1715027Z      |
2019-12-19T22:36:18.1715488Z 243  | / macro_rules! int_impl {
2019-12-19T22:36:18.1715897Z 244  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:36:18.1716244Z 245  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:36:18.1716566Z 246  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:36:18.1717779Z 724  | |             #[rustc_const_unstable(feature = "const_int_checked")]
2019-12-19T22:36:18.1718346Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:36:18.1718626Z ...    |
2019-12-19T22:36:18.1718938Z 2300 | |     }
2019-12-19T22:36:18.1718938Z 2300 | |     }
2019-12-19T22:36:18.1719254Z 2301 | | }
2019-12-19T22:36:18.1719586Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:36:18.1719812Z ...
2019-12-19T22:36:18.1720227Z 2305 | /     int_impl! { i8, i8, u8, 8, -128, 127, "", "", 2, "-0x7e", "0xa", "0x12", "0x12", "0x48",
2019-12-19T22:36:18.1720595Z 2306 | |     "[0x12]", "[0x12]", "", "" }
2019-12-19T22:36:18.1721299Z 
2019-12-19T22:36:18.2351884Z error[E0547]: missing 'issue'
2019-12-19T22:36:18.2353696Z     --> src/libcore/num/mod.rs:753:13
2019-12-19T22:36:18.2357659Z      |
2019-12-19T22:36:18.2357659Z      |
2019-12-19T22:36:18.2358100Z 243  | / macro_rules! int_impl {
2019-12-19T22:36:18.2358532Z 244  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:36:18.2358970Z 245  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:36:18.2359357Z 246  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:36:18.2359626Z ...    |
2019-12-19T22:36:18.2359993Z 753  | |             #[rustc_const_unstable(feature = "const_int_euclidean")]
2019-12-19T22:36:18.2360803Z ...    |
2019-12-19T22:36:18.2361039Z 2300 | |     }
2019-12-19T22:36:18.2361424Z 2301 | | }
2019-12-19T22:36:18.2361721Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:36:18.2361721Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:36:18.2361895Z ...
2019-12-19T22:36:18.2362221Z 2305 | /     int_impl! { i8, i8, u8, 8, -128, 127, "", "", 2, "-0x7e", "0xa", "0x12", "0x12", "0x48",
2019-12-19T22:36:18.2362485Z 2306 | |     "[0x12]", "[0x12]", "", "" }
2019-12-19T22:36:18.2362809Z 
2019-12-19T22:36:18.3073686Z error[E0547]: missing 'issue'
2019-12-19T22:36:18.3077617Z     --> src/libcore/num/mod.rs:812:13
2019-12-19T22:36:18.3077920Z      |
2019-12-19T22:36:18.3077920Z      |
2019-12-19T22:36:18.3078259Z 243  | / macro_rules! int_impl {
2019-12-19T22:36:18.3078695Z 244  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:36:18.3079111Z 245  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:36:18.3079478Z 246  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:36:18.3079787Z ...    |
2019-12-19T22:36:18.3080168Z 812  | |             #[rustc_const_unstable(feature = "const_int_euclidean")]
2019-12-19T22:36:18.3080988Z ...    |
2019-12-19T22:36:18.3081277Z 2300 | |     }
2019-12-19T22:36:18.3081919Z 2301 | | }
2019-12-19T22:36:18.3082369Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:36:18.3082369Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:36:18.3082980Z ...
2019-12-19T22:36:18.3083522Z 2305 | /     int_impl! { i8, i8, u8, 8, -128, 127, "", "", 2, "-0x7e", "0xa", "0x12", "0x12", "0x48",
2019-12-19T22:36:18.3083832Z 2306 | |     "[0x12]", "[0x12]", "", "" }
2019-12-19T22:36:18.3084196Z 
2019-12-19T22:36:18.3831595Z error[E0547]: missing 'issue'
2019-12-19T22:36:18.3835746Z     --> src/libcore/num/mod.rs:838:13
2019-12-19T22:36:18.3836043Z      |
2019-12-19T22:36:18.3836043Z      |
2019-12-19T22:36:18.3836316Z 243  | / macro_rules! int_impl {
2019-12-19T22:36:18.3837389Z 244  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:36:18.3837886Z 245  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:36:18.3838250Z 246  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:36:18.3838901Z 838  | |             #[rustc_const_unstable(feature = "const_int_checked")]
2019-12-19T22:36:18.3839279Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:36:18.3839704Z ...    |
2019-12-19T22:36:18.3840019Z 2300 | |     }
2019-12-19T22:36:18.3840019Z 2300 | |     }
2019-12-19T22:36:18.3840341Z 2301 | | }
2019-12-19T22:36:18.3840671Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:36:18.3840897Z ...
2019-12-19T22:36:18.3841462Z 2305 | /     int_impl! { i8, i8, u8, 8, -128, 127, "", "", 2, "-0x7e", "0xa", "0x12", "0x12", "0x48",
2019-12-19T22:36:18.3841792Z 2306 | |     "[0x12]", "[0x12]", "", "" }
2019-12-19T22:36:18.3842211Z 
2019-12-19T22:36:18.4551734Z error[E0547]: missing 'issue'
2019-12-19T22:36:18.4552909Z     --> src/libcore/num/mod.rs:862:13
2019-12-19T22:36:18.4553310Z      |
2019-12-19T22:36:18.4553310Z      |
2019-12-19T22:36:18.4553991Z 243  | / macro_rules! int_impl {
2019-12-19T22:36:18.4554549Z 244  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:36:18.4555074Z 245  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:36:18.4555637Z 246  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:36:18.4556876Z 862  | |             #[rustc_const_unstable(feature = "const_int_checked")]
2019-12-19T22:36:18.4557959Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:36:18.4558449Z ...    |
2019-12-19T22:36:18.4558943Z 2300 | |     }
2019-12-19T22:36:18.4558943Z 2300 | |     }
2019-12-19T22:36:18.4559438Z 2301 | | }
2019-12-19T22:36:18.4560178Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:36:18.4560784Z ...
2019-12-19T22:36:18.4561291Z 2305 | /     int_impl! { i8, i8, u8, 8, -128, 127, "", "", 2, "-0x7e", "0xa", "0x12", "0x12", "0x48",
2019-12-19T22:36:18.4561723Z 2306 | |     "[0x12]", "[0x12]", "", "" }
2019-12-19T22:36:18.4562334Z 
2019-12-19T22:36:18.5309327Z error[E0547]: missing 'issue'
2019-12-19T22:36:18.5325747Z     --> src/libcore/num/mod.rs:887:13
2019-12-19T22:36:18.5326420Z      |
2019-12-19T22:36:18.5326420Z      |
2019-12-19T22:36:18.5326913Z 243  | / macro_rules! int_impl {
2019-12-19T22:36:18.5327820Z 244  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:36:18.5328246Z 245  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:36:18.5328644Z 246  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:36:18.5329440Z 887  | |             #[rustc_const_unstable(feature = "const_int_checked")]
2019-12-19T22:36:18.5329858Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:36:18.5330129Z ...    |
2019-12-19T22:36:18.5330462Z 2300 | |     }
2019-12-19T22:36:18.5330462Z 2300 | |     }
2019-12-19T22:36:18.5330897Z 2301 | | }
2019-12-19T22:36:18.5331189Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:36:18.5331407Z ...
2019-12-19T22:36:18.5331755Z 2305 | /     int_impl! { i8, i8, u8, 8, -128, 127, "", "", 2, "-0x7e", "0xa", "0x12", "0x12", "0x48",
2019-12-19T22:36:18.5332077Z 2306 | |     "[0x12]", "[0x12]", "", "" }
2019-12-19T22:36:18.5332453Z 
2019-12-19T22:36:18.5991556Z error[E0547]: missing 'issue'
2019-12-19T22:36:18.5992389Z     --> src/libcore/num/mod.rs:911:13
2019-12-19T22:36:18.5993121Z      |
2019-12-19T22:36:18.5993121Z      |
2019-12-19T22:36:18.5993394Z 243  | / macro_rules! int_impl {
2019-12-19T22:36:18.5993983Z 244  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:36:18.5994837Z 245  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:36:18.5995378Z 246  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:36:18.5996214Z 911  | |             #[rustc_const_unstable(feature = "const_int_checked")]
2019-12-19T22:36:18.5996825Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:36:18.5997763Z ...    |
2019-12-19T22:36:18.5998457Z 2300 | |     }
2019-12-19T22:36:18.5998457Z 2300 | |     }
2019-12-19T22:36:18.5998957Z 2301 | | }
2019-12-19T22:36:18.5999507Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:36:18.5999910Z ...
2019-12-19T22:36:18.6000503Z 2305 | /     int_impl! { i8, i8, u8, 8, -128, 127, "", "", 2, "-0x7e", "0xa", "0x12", "0x12", "0x48",
2019-12-19T22:36:18.6001137Z 2306 | |     "[0x12]", "[0x12]", "", "" }
2019-12-19T22:36:18.6001946Z 
2019-12-19T22:36:18.6709042Z error[E0547]: missing 'issue'
2019-12-19T22:36:18.6709845Z     --> src/libcore/num/mod.rs:1035:13
2019-12-19T22:36:18.6710430Z      |
2019-12-19T22:36:18.6710430Z      |
2019-12-19T22:36:18.6711343Z 243  | / macro_rules! int_impl {
2019-12-19T22:36:18.6711966Z 244  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:36:18.6712610Z 245  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:36:18.6713497Z 246  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:36:18.6714939Z 1035 | |             #[rustc_const_unstable(feature = "const_saturating_int_methods")]
2019-12-19T22:36:18.6715482Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:36:18.6715954Z ...    |
2019-12-19T22:36:18.6716429Z 2300 | |     }
2019-12-19T22:36:18.6716429Z 2300 | |     }
2019-12-19T22:36:18.6717757Z 2301 | | }
2019-12-19T22:36:18.6719451Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:36:18.6721293Z ...
2019-12-19T22:36:18.6723444Z 2305 | /     int_impl! { i8, i8, u8, 8, -128, 127, "", "", 2, "-0x7e", "0xa", "0x12", "0x12", "0x48",
2019-12-19T22:36:18.6726007Z 2306 | |     "[0x12]", "[0x12]", "", "" }
2019-12-19T22:36:18.6732050Z 
2019-12-19T22:36:18.7318644Z error[E0547]: missing 'issue'
2019-12-19T22:36:18.7318982Z     --> src/libcore/num/mod.rs:1064:13
2019-12-19T22:36:18.7319220Z      |
2019-12-19T22:36:18.7319220Z      |
2019-12-19T22:36:18.7319554Z 243  | / macro_rules! int_impl {
2019-12-19T22:36:18.7320200Z 244  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:36:18.7320641Z 245  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:36:18.7321297Z 246  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:36:18.7322198Z 1064 | |             #[rustc_const_unstable(feature = "const_saturating_int_methods")]
2019-12-19T22:36:18.7322533Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:36:18.7322788Z ...    |
2019-12-19T22:36:18.7323051Z 2300 | |     }
2019-12-19T22:36:18.7323051Z 2300 | |     }
2019-12-19T22:36:18.7323311Z 2301 | | }
2019-12-19T22:36:18.7323606Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:36:18.7323801Z ...
2019-12-19T22:36:18.7324141Z 2305 | /     int_impl! { i8, i8, u8, 8, -128, 127, "", "", 2, "-0x7e", "0xa", "0x12", "0x12", "0x48",
2019-12-19T22:36:18.7324452Z 2306 | |     "[0x12]", "[0x12]", "", "" }
2019-12-19T22:36:18.7330838Z 
2019-12-19T22:36:18.8112978Z error[E0547]: missing 'issue'
2019-12-19T22:36:18.8113243Z     --> src/libcore/num/mod.rs:1097:13
2019-12-19T22:36:18.8113432Z      |
2019-12-19T22:36:18.8113432Z      |
2019-12-19T22:36:18.8113707Z 243  | / macro_rules! int_impl {
2019-12-19T22:36:18.8114014Z 244  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:36:18.8114341Z 245  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:36:18.8114792Z 246  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:36:18.8115345Z 1097 | |             #[rustc_const_unstable(feature = "const_int_saturating")]
2019-12-19T22:36:18.8115625Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:36:18.8115827Z ...    |
2019-12-19T22:36:18.8116077Z 2300 | |     }
2019-12-19T22:36:18.8116077Z 2300 | |     }
2019-12-19T22:36:18.8116412Z 2301 | | }
2019-12-19T22:36:18.8116858Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:36:18.8117468Z ...
2019-12-19T22:36:18.8117877Z 2305 | /     int_impl! { i8, i8, u8, 8, -128, 127, "", "", 2, "-0x7e", "0xa", "0x12", "0x12", "0x48",
2019-12-19T22:36:18.8118239Z 2306 | |     "[0x12]", "[0x12]", "", "" }
2019-12-19T22:36:18.8123203Z 
2019-12-19T22:36:18.8750909Z error[E0547]: missing 'issue'
2019-12-19T22:36:18.8751199Z     --> src/libcore/num/mod.rs:1237:13
2019-12-19T22:36:18.8751399Z      |
2019-12-19T22:36:18.8751399Z      |
2019-12-19T22:36:18.8751684Z 243  | / macro_rules! int_impl {
2019-12-19T22:36:18.8751995Z 244  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:36:18.8752315Z 245  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:36:18.8752618Z 246  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:36:18.8753148Z 1237 | |             #[rustc_const_unstable(feature = "const_int_wrapping")]
2019-12-19T22:36:18.8753623Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:36:18.8754060Z ...    |
2019-12-19T22:36:18.8754429Z 2300 | |     }
2019-12-19T22:36:18.8754429Z 2300 | |     }
2019-12-19T22:36:18.8754719Z 2301 | | }
2019-12-19T22:36:18.8755032Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:36:18.8755266Z ...
2019-12-19T22:36:18.8755646Z 2305 | /     int_impl! { i8, i8, u8, 8, -128, 127, "", "", 2, "-0x7e", "0xa", "0x12", "0x12", "0x48",
2019-12-19T22:36:18.8756165Z 2306 | |     "[0x12]", "[0x12]", "", "" }
2019-12-19T22:36:18.8761586Z 
2019-12-19T22:36:18.9471081Z error[E0547]: missing 'issue'
2019-12-19T22:36:18.9471340Z     --> src/libcore/num/mod.rs:1267:13
2019-12-19T22:36:18.9471525Z      |
2019-12-19T22:36:18.9471525Z      |
2019-12-19T22:36:18.9471786Z 243  | / macro_rules! int_impl {
2019-12-19T22:36:18.9472091Z 244  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:36:18.9472597Z 245  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:36:18.9472905Z 246  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:36:18.9473108Z ...    |
2019-12-19T22:36:18.9473404Z 1267 | |             #[rustc_const_unstable(feature = "const_int_euclidean")]
2019-12-19T22:36:18.9473896Z ...    |
2019-12-19T22:36:18.9474149Z 2300 | |     }
2019-12-19T22:36:18.9474383Z 2301 | | }
2019-12-19T22:36:18.9474633Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:36:18.9474633Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:36:18.9474824Z ...
2019-12-19T22:36:18.9475127Z 2305 | /     int_impl! { i8, i8, u8, 8, -128, 127, "", "", 2, "-0x7e", "0xa", "0x12", "0x12", "0x48",
2019-12-19T22:36:18.9475390Z 2306 | |     "[0x12]", "[0x12]", "", "" }
2019-12-19T22:36:18.9480466Z 
2019-12-19T22:36:19.0229705Z error[E0547]: missing 'issue'
2019-12-19T22:36:19.0230890Z     --> src/libcore/num/mod.rs:1298:13
2019-12-19T22:36:19.0231384Z      |
2019-12-19T22:36:19.0231384Z      |
2019-12-19T22:36:19.0231929Z 243  | / macro_rules! int_impl {
2019-12-19T22:36:19.0232522Z 244  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:36:19.0233104Z 245  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:36:19.0233824Z 246  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:36:19.0235096Z 1298 | |             #[rustc_const_unstable(feature = "const_int_wrapping")]
2019-12-19T22:36:19.0235630Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:36:19.0236102Z ...    |
2019-12-19T22:36:19.0236587Z 2300 | |     }
2019-12-19T22:36:19.0236587Z 2300 | |     }
2019-12-19T22:36:19.0238625Z 2301 | | }
2019-12-19T22:36:19.0239346Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:36:19.0239987Z ...
2019-12-19T22:36:19.0240933Z 2305 | /     int_impl! { i8, i8, u8, 8, -128, 127, "", "", 2, "-0x7e", "0xa", "0x12", "0x12", "0x48",
2019-12-19T22:36:19.0241385Z 2306 | |     "[0x12]", "[0x12]", "", "" }
2019-12-19T22:36:19.0245638Z 
2019-12-19T22:36:19.0989221Z error[E0547]: missing 'issue'
2019-12-19T22:36:19.0990245Z     --> src/libcore/num/mod.rs:1327:13
2019-12-19T22:36:19.0990934Z      |
2019-12-19T22:36:19.0990934Z      |
2019-12-19T22:36:19.0991467Z 243  | / macro_rules! int_impl {
2019-12-19T22:36:19.0992083Z 244  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:36:19.0992656Z 245  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:36:19.0993217Z 246  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:36:19.0993666Z ...    |
2019-12-19T22:36:19.0994218Z 1327 | |             #[rustc_const_unstable(feature = "const_int_euclidean")]
2019-12-19T22:36:19.0995242Z ...    |
2019-12-19T22:36:19.0995757Z 2300 | |     }
2019-12-19T22:36:19.0996267Z 2301 | | }
2019-12-19T22:36:19.0997330Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:36:19.0997330Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:36:19.0997927Z ...
2019-12-19T22:36:19.0998625Z 2305 | /     int_impl! { i8, i8, u8, 8, -128, 127, "", "", 2, "-0x7e", "0xa", "0x12", "0x12", "0x48",
2019-12-19T22:36:19.0999303Z 2306 | |     "[0x12]", "[0x12]", "", "" }
2019-12-19T22:36:19.1003424Z 
2019-12-19T22:36:19.1591590Z error[E0547]: missing 'issue'
2019-12-19T22:36:19.1592862Z     --> src/libcore/num/mod.rs:1609:13
2019-12-19T22:36:19.1593387Z      |
2019-12-19T22:36:19.1593387Z      |
2019-12-19T22:36:19.1593892Z 243  | / macro_rules! int_impl {
2019-12-19T22:36:19.1594475Z 244  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:36:19.1595249Z 245  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:36:19.1596214Z 246  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:36:19.1598034Z 1609 | |             #[rustc_const_unstable(feature = "const_int_overflowing")]
2019-12-19T22:36:19.1598727Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:36:19.1599271Z ...    |
2019-12-19T22:36:19.1599880Z 2300 | |     }
2019-12-19T22:36:19.1599880Z 2300 | |     }
2019-12-19T22:36:19.1600516Z 2301 | | }
2019-12-19T22:36:19.1601225Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:36:19.1601838Z ...
2019-12-19T22:36:19.1602891Z 2305 | /     int_impl! { i8, i8, u8, 8, -128, 127, "", "", 2, "-0x7e", "0xa", "0x12", "0x12", "0x48",
2019-12-19T22:36:19.1603453Z 2306 | |     "[0x12]", "[0x12]", "", "" }
2019-12-19T22:36:19.1608200Z 
2019-12-19T22:36:19.2391589Z error[E0547]: missing 'issue'
2019-12-19T22:36:19.2391895Z     --> src/libcore/num/mod.rs:1644:13
2019-12-19T22:36:19.2392140Z      |
2019-12-19T22:36:19.2392140Z      |
2019-12-19T22:36:19.2392414Z 243  | / macro_rules! int_impl {
2019-12-19T22:36:19.2392747Z 244  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:36:19.2393101Z 245  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:36:19.2393396Z 246  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:36:19.2393646Z ...    |
2019-12-19T22:36:19.2394096Z 1644 | |             #[rustc_const_unstable(feature = "const_int_euclidean")]
2019-12-19T22:36:19.2394679Z ...    |
2019-12-19T22:36:19.2394927Z 2300 | |     }
2019-12-19T22:36:19.2395188Z 2301 | | }
2019-12-19T22:36:19.2395454Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:36:19.2395454Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:36:19.2395636Z ...
2019-12-19T22:36:19.2396105Z 2305 | /     int_impl! { i8, i8, u8, 8, -128, 127, "", "", 2, "-0x7e", "0xa", "0x12", "0x12", "0x48",
2019-12-19T22:36:19.2396389Z 2306 | |     "[0x12]", "[0x12]", "", "" }
2019-12-19T22:36:19.2401618Z 
2019-12-19T22:36:19.3114297Z error[E0547]: missing 'issue'
2019-12-19T22:36:19.3114565Z     --> src/libcore/num/mod.rs:1679:13
2019-12-19T22:36:19.3114781Z      |
2019-12-19T22:36:19.3114781Z      |
2019-12-19T22:36:19.3115036Z 243  | / macro_rules! int_impl {
2019-12-19T22:36:19.3115394Z 244  | |     ($SelfT:ty, $ActualT:ident, $UnsignedT:ty, $BITS:expr, $Min:expr, $Max:expr, $Feature:expr,
2019-12-19T22:36:19.3115732Z 245  | |      $EndFeature:expr, $rot:expr, $rot_op:expr, $rot_result:expr, $swap_op:expr, $swapped:expr,
2019-12-19T22:36:19.3116010Z 246  | |      $reversed:expr, $le_bytes:expr, $be_bytes:expr,
2019-12-19T22:36:19.3116516Z 1679 | |             #[rustc_const_unstable(feature = "const_int_overflowing")]
2019-12-19T22:36:19.3117484Z      | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-19T22:36:19.3117809Z ...    |
2019-12-19T22:36:19.3118124Z 2300 | |     }
2019-12-19T22:36:19.3118124Z 2300 | |     }
2019-12-19T22:36:19.3118447Z 2301 | | }
2019-12-19T22:36:19.3118771Z      | |_- in this expansion of `int_impl!`
2019-12-19T22:36:19.3118992Z ...
2019-12-19T22:36:19.3119410Z 2305 | /     int_impl! { i8, i8, u8, 8, -128, 127, "", "", 2, "-0x7e", "0xa", "0x12", "0x12", "0x48",
2019-12-19T22:36:19.3119751Z 2306 | |     "[0x12]", "[0x12]", "", "" }
2019-12-19T22:36:19.3124222Z 
2019-12-19T22:36:19.3832109Z error[E0547]: missing 'issue'
2019-12-19T22:36:19.3832393Z     --> src/libcore/num/mod.rs:1713:13
2019-12-19T22:36:19.3832619Z      |
2019-12-19T22:36:19.3832619Z      |
---
2019-12-19T22:36:36.9898843Z    Compiling rustc_msan v0.0.0 (/checkout/src/librustc_msan)
2019-12-19T22:36:37.3497574Z error[E0277]: the trait bound `option::Option<T>: clone::Clone` is not satisfied
2019-12-19T22:36:37.3498002Z    --> src/libcore/option.rs:153:10
2019-12-19T22:36:37.3498279Z     |
2019-12-19T22:36:37.3498609Z 153 | #[derive(Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
2019-12-19T22:36:37.3499181Z     |          |
2019-12-19T22:36:37.3499523Z     |          the trait `clone::Clone` is not implemented for `option::Option<T>`
2019-12-19T22:36:37.3499825Z     |          in this macro invocation
2019-12-19T22:36:37.3500098Z     | 
2019-12-19T22:36:37.3500098Z     | 
2019-12-19T22:36:37.3500364Z    ::: src/libcore/marker.rs:373:1
2019-12-19T22:36:37.3501028Z     |
2019-12-19T22:36:37.3501371Z 373 | pub macro Copy($item:item) { /* compiler built-in */ }
2019-12-19T22:36:37.3501696Z     | ------------------------------------------------------ in this expansion of `#[derive(Copy)]`
2019-12-19T22:36:37.7040788Z    Compiling rustc_tsan v0.0.0 (/checkout/src/librustc_tsan)
2019-12-19T22:36:38.1354265Z error: aborting due to 291 previous errors
2019-12-19T22:36:38.1355129Z 
2019-12-19T22:36:38.1359505Z Some errors have detailed explanations: E0277, E0412, E0422, E0425.
---
2019-12-19T22:36:38.3867437Z   local time: Thu Dec 19 22:36:38 UTC 2019
2019-12-19T22:36:38.5343238Z   network time: Thu, 19 Dec 2019 22:36:38 GMT
2019-12-19T22:36:38.5348836Z == end clock drift check ==
2019-12-19T22:36:47.1698194Z 
2019-12-19T22:36:47.1796837Z ##[error]Bash exited with code '1'.
2019-12-19T22:36:47.1824213Z ##[section]Starting: Checkout
2019-12-19T22:36:47.1825772Z ==============================================================================
2019-12-19T22:36:47.1825821Z Task         : Get sources
2019-12-19T22:36:47.1825879Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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

match self {
Some(Ok(x)) => Ok(Some(x)),
Some(Err(e)) => Err(e),
None => Ok(None),
}
}
}
Copy link
Contributor

Choose a reason for hiding this comment

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

you lost a closing bracket

@bors
Copy link
Contributor

bors commented Dec 23, 2019

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

@oli-obk
Copy link
Contributor

oli-obk commented Jan 15, 2020

Please remove the Option method constifications that aren't possible with the current setup (so unwrap, expect and other by value methods)

@JohnCSimon JohnCSimon 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 Jan 25, 2020
@JohnCSimon
Copy link
Member

Ping from triage -
@9999years please address the merge conflicts and build failures. Thanks!

@JohnCSimon
Copy link
Member

Pinging again from triage -
@9999years please address the merge conflicts and build failures...

@9999years
Copy link
Contributor Author

Sorry for the long delay on this -- life's been especially hectic recently. I'll see what I can do here but might not be able to get to this until this weekend or the next. Is that okay? Willing to just close this if that's easier for folks. Apologies again, I don't want to hold anyone up here.

@ecstatic-morse
Copy link
Contributor

@9999years Would it be okay if I took this over, but added you as a co-author? This shouldn't require any #[cfg(bootstrap)] anymore, just adding const to things. By giving each class of functions a name, you've already done most of the work.

@9999years
Copy link
Contributor Author

9999years commented Feb 3, 2020 via email

@ecstatic-morse
Copy link
Contributor

@9999years. Nah, I'll take care of it.

@9999years
Copy link
Contributor Author

Closed in favor of #68809. Thanks @ecstatic-morse!

@9999years 9999years closed this Feb 3, 2020
Dylan-DPC-zz pushed a commit to Dylan-DPC-zz/rust that referenced this pull request Feb 5, 2020
… r=oli-obk

Make more arithmetic functions unstably const

This is a smaller version of rust-lang#66884 (thanks @9999years) that constifies many of the arithmetic functions on integer primitives from rust-lang#53718 that were blocked on rust-lang#49146.

This makes the following things unstably const.

- `feature = const_int_unchecked_arith`
  - `intrinsics::unchecked_add`
  - `intrinsics::unchecked_sub`
  - `intrinsics::unchecked_mul`
  - `intrinsics::unchecked_div`
  - `intrinsics::unchecked_rem`

- `feature = const_checked_int_methods`
  - `checked_add`
  - `checked_sub`
  - `checked_mul`
  - `checked_div` (Uses `intrinsics::unchecked_div` internally)
  - `checked_rem` (Uses `intrinsics::unchecked_rem` internally)
  - `checked_neg`
  - `checked_shl`
  - `checked_shr`
  - `checked_abs`

- `feature = const_saturating_int_methods`
  - `saturating_mul`
  - `saturating_neg`  (Uses `intrinsics::unchecked_sub` internally)
  - `saturating_abs` (Uses `intrinsics::unchecked_sub` internally)

- `feature = const_wrapping_int_methods`
  - `wrapping_div`
  - `wrapping_rem`

- `feature = const_overflowing_int_methods`
  - `overflowing_div`
  - `overflowing_rem`

- `feature = const_euclidean_int_methods`
  - `checked_div_euclid`
  - `checked_rem_euclid`
  - `wrapping_div_euclid`
  - `wrapping_rem_euclid`
  - `overflowing_div_euclid`
  - `overflowing_rem_euclid`

Exponentiation and operations on the `NonZero` types are left to a later PR.

r? @oli-obk
cc @rust-lang/wg-const-eval @rust-lang/libs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

10 participants