Skip to content

Conversation

GuillaumeGomez
Copy link
Member

@GuillaumeGomez GuillaumeGomez commented Feb 26, 2020

I don't see any reason to not stabilize it anymore, so let's go!

cc @kinnison @ehuss

r? @ollie27

@ehuss
Copy link
Contributor

ehuss commented Feb 26, 2020

cc @aleksator

Some context for this is rust-lang/cargo#7907 where Cargo now has an unstable option to automatically set this flag for everyone. However, one of the concerns I had is that the std docs include the hash and date in the string, whereas Cargo doesn't. If we stabilize the Cargo side, it would result in an error when building the std docs due to a duplicate command-line option. So the fundamental question for rolling this out to a larger audience is: would it be OK to remove the hash/date from the string in std? If not, we'll need some way to opt-in to having Cargo issue the flag. Another option would be to allow the flag to be specified multiple times, and only honor the last one.

@rust-highfive
Copy link
Contributor

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.
2020-02-26T21:10:48.0981142Z ========================== Starting Command Output =========================== 2020-02-26T21:10:48.0985582Z [command]/bin/bash --noprofile --norc /home/vsts/work/_temp/115d1f4e-4e64-4ad0-b74e-0195d91d27d8.sh 2020-02-26T21:10:48.0985960Z 2020-02-26T21:10:48.0990792Z ##[section]Finishing: Disable git automatic line ending conversion 2020-02-26T21:10:48.1009488Z ##[section]Starting: Checkout rust-lang/rust@refs/pull/69494/merge to s 2020-02-26T21:10:48.1012761Z Task : Get sources 2020-02-26T21:10:48.1013007Z Description : Get sources from a repository. Supports Git, TfsVC, and SVN repositories. 2020-02-26T21:10:48.1013243Z Version : 1.0.0 2020-02-26T21:10:48.1013407Z Author : Microsoft --- 2020-02-26T21:10:49.1070171Z ##[command]git remote add origin https://github.com/rust-lang/rust 2020-02-26T21:10:49.1076085Z ##[command]git config gc.auto 0 2020-02-26T21:10:49.1079370Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader 2020-02-26T21:10:49.1083824Z ##[command]git config --get-all http.proxy 2020-02-26T21:10:49.1091373Z ##[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/69494/merge:refs/remotes/pull/69494/merge --- 2020-02-26T22:10:36.5953158Z .................................................................................................... 1700/9733 2020-02-26T22:10:40.8993127Z .................................................................................................... 1800/9733 2020-02-26T22:10:51.7524160Z ....................................................................i............................... 1900/9733 2020-02-26T22:10:58.2338791Z .................................................................................................... 2000/9733 2020-02-26T22:11:12.3131704Z ..........................................................iiiii..................................... 2100/9733 2020-02-26T22:11:22.3552160Z .................................................................................................... 2300/9733 2020-02-26T22:11:24.5360171Z .................................................................................................... 2400/9733 2020-02-26T22:11:27.5747993Z .................................................................................................... 2500/9733 2020-02-26T22:11:48.3700019Z .................................................................................................... 2600/9733 --- 2020-02-26T22:14:20.8338504Z ..................i...............i................................................................. 5000/9733 2020-02-26T22:14:29.8828830Z .................................................................................................... 5100/9733 2020-02-26T22:14:35.1355894Z .............................................................i...................................... 5200/9733 2020-02-26T22:14:41.4545418Z .................................................................................................... 5300/9733 2020-02-26T22:14:49.8308254Z ......................................ii.ii........i...i............................................ 5400/9733 2020-02-26T22:14:58.1446434Z .................................................................................................... 5600/9733 2020-02-26T22:15:07.1692793Z .................................................................................................... 5700/9733 2020-02-26T22:15:13.4766593Z .............................i...................................................................... 5800/9733 2020-02-26T22:15:19.0411238Z .................................................................................................... 5900/9733 2020-02-26T22:15:19.0411238Z .................................................................................................... 5900/9733 2020-02-26T22:15:29.4998391Z .................................................................................................... 6000/9733 2020-02-26T22:15:39.0947296Z ....................ii...i..ii...........i.......................................................... 6100/9733 2020-02-26T22:15:54.9529449Z .................................................................................................... 6300/9733 2020-02-26T22:16:01.5904393Z .................................................................................................... 6400/9733 2020-02-26T22:16:01.5904393Z .................................................................................................... 6400/9733 2020-02-26T22:16:16.0773712Z ...................................................i..ii............................................ 6500/9733 2020-02-26T22:16:39.6684730Z .................................................................................................... 6700/9733 2020-02-26T22:16:42.1683700Z ...........................................i........................................................ 6800/9733 2020-02-26T22:16:44.2287329Z .................................................................................................... 6900/9733 2020-02-26T22:16:46.5303919Z .........................................................................i.......................... 7000/9733 --- 2020-02-26T22:18:22.4574455Z .................................................................................................... 7700/9733 2020-02-26T22:18:27.6017937Z .................................................................................................... 7800/9733 2020-02-26T22:18:32.6407176Z .................................................................................................... 7900/9733 2020-02-26T22:18:40.7439683Z ..................i................................................................................. 8000/9733 2020-02-26T22:18:49.2798932Z ...................................................................iiiiiii.i........................ 8100/9733 2020-02-26T22:19:04.0394216Z ........i......i.................................................................................... 8300/9733 2020-02-26T22:19:09.2771035Z .................................................................................................... 8400/9733 2020-02-26T22:19:22.6106128Z .................................................................................................... 8500/9733 2020-02-26T22:19:31.6896100Z .................................................................................................... 8600/9733 --- 2020-02-26T22:21:46.7607758Z finished in 6.920 2020-02-26T22:21:46.7784265Z Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu) 2020-02-26T22:21:46.9575892Z 2020-02-26T22:21:46.9577584Z running 178 tests 2020-02-26T22:21:49.5603985Z iiii......i...........ii..iiii...i....i...........i............i..i..................i....i......... 100/178 2020-02-26T22:21:51.7236083Z ...i.i.i...iii..iiiiiiiiiiiiiiii.......................iii............ii...... 2020-02-26T22:21:51.7239449Z 2020-02-26T22:21:51.7244239Z finished in 4.946 2020-02-26T22:21:51.7426258Z Check compiletest suite=codegen-units mode=codegen-units (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu) 2020-02-26T22:21:51.8937218Z --- 2020-02-26T22:21:53.7466965Z finished in 2.004 2020-02-26T22:21:53.7673201Z Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu) 2020-02-26T22:21:53.9327420Z 2020-02-26T22:21:53.9327942Z running 9 tests 2020-02-26T22:21:53.9329132Z iiiiiiiii 2020-02-26T22:21:53.9334444Z 2020-02-26T22:21:53.9334912Z finished in 0.166 2020-02-26T22:21:53.9531873Z Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu) 2020-02-26T22:21:54.1399064Z --- 2020-02-26T22:22:13.2337343Z finished in 19.280 2020-02-26T22:22:13.2550639Z Check compiletest suite=debuginfo mode=debuginfo (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu) 2020-02-26T22:22:13.4241529Z 2020-02-26T22:22:13.4241778Z running 116 tests 2020-02-26T22:22:27.0746315Z iiiii..i.....i..i...i..i.i.i..i..i..ii....i.i....ii..........iiii..........i.....i..i.......ii.i.ii. 100/116 2020-02-26T22:22:28.9744367Z ....iiii.....ii. 2020-02-26T22:22:28.9745722Z 2020-02-26T22:22:28.9750838Z finished in 15.720 2020-02-26T22:22:28.9756852Z Uplifting stage1 rustc (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu) 2020-02-26T22:22:28.9757642Z Copying stage2 rustc from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu) --- 2020-02-26T22:34:58.4188785Z 2020-02-26T22:34:58.4193429Z Doc-tests core 2020-02-26T22:35:02.8280899Z 2020-02-26T22:35:02.8281388Z running 2480 tests 2020-02-26T22:35:11.3762578Z ......iiiii......................................................................................... 100/2480 2020-02-26T22:35:19.8133572Z ....................................................................................ii.............. 200/2480 2020-02-26T22:35:38.9630410Z ...................i................................................................................ 400/2480 2020-02-26T22:35:38.9630410Z ...................i................................................................................ 400/2480 2020-02-26T22:35:48.4724272Z ........................................................................i..i..................iiii.. 500/2480 2020-02-26T22:36:04.2859176Z .................................................................................................... 700/2480 2020-02-26T22:36:12.3726235Z .................................................................................................... 800/2480 2020-02-26T22:36:20.5033043Z .................................................................................................... 900/2480 2020-02-26T22:36:28.5225292Z .................................................................................................... 1000/2480 --- 2020-02-26T22:39:39.2132755Z .................................................thread '<unnamed>' panicked at 'explicit panic', src/libstd/io/stdio.rs:871:13 2020-02-26T22:39:39.2142628Z ... 300/760 2020-02-26T22:39:39.2999290Z .................................................................................................... 400/760 2020-02-26T22:39:41.3724050Z .................................................................................................... 500/760 2020-02-26T22:39:41.4178042Z .................thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2741:22 2020-02-26T22:39:41.4195913Z ....thread '<unnamed>thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: "SendError(..)"', src/libstd/sync/mpsc/mod.rs:2766:17 2020-02-26T22:39:41.4209732Z .' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2778.:21. 2020-02-26T22:39:41.4225566Z ....thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2645:13 2020-02-26T22:39:41.6379681Z ..........................................thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:1997:22 2020-02-26T22:39:41.6410524Z ...thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2034:21 2020-02-26T22:39:41.6466946Z ........thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:1916:13 2020-02-26T22:39:43.7251611Z ...................thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/mutex.rs:633:13 2020-02-26T22:39:43.7258701Z ..thread '<unnamed>' panicked at 'test panic in inner thread to poison mutex', src/libstd/sync/mutex.rs:587:13 2020-02-26T22:39:43.7262314Z thread '<unnamed>' panicked at 'test panic in inner thread to poison mutex', src/libstd/sync/mutex.rs:563:13 2020-02-26T22:39:43.7267592Z .....thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/mutex.rs:694:13 --- 2020-02-26T22:39:52.6211974Z 2020-02-26T22:39:52.6212329Z running 1009 tests 2020-02-26T22:40:09.4090997Z i................................................................................................... 100/1009 2020-02-26T22:40:18.6876023Z .................................................................................................... 200/1009 2020-02-26T22:40:25.3472853Z ..................iii......i......i...i......i...................................................... 300/1009 2020-02-26T22:40:29.9142295Z .................................................................................................... 400/1009 2020-02-26T22:40:36.0238495Z ............................................i..i.....................................ii............. 500/1009 2020-02-26T22:40:47.5416214Z .................................................................................................... 700/1009 2020-02-26T22:40:47.5416214Z .................................................................................................... 700/1009 2020-02-26T22:40:53.9755024Z ...................................iiii............................................................. 800/1009 2020-02-26T22:41:07.2509971Z .................................................................................................... 900/1009 2020-02-26T22:41:13.4609516Z .........................................................iiii....................................... 1000/1009 2020-02-26T22:41:13.7933995Z test result: ok. 989 passed; 0 failed; 20 ignored; 0 measured; 0 filtered out 2020-02-26T22:41:13.7935206Z 2020-02-26T22:41:13.8050128Z finished in 156.056 2020-02-26T22:41:13.8063963Z Testing term stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu) --- 2020-02-26T22:57:35.3120547Z error: the `-Z unstable-options` flag must also be passed to enable the flag `index-page` 2020-02-26T22:57:35.3121103Z 2020-02-26T22:57:35.3124743Z 2020-02-26T22:57:35.3127253Z 2020-02-26T22:57:35.3129411Z command did not execute successfully: "/checkout/obj/build/bootstrap/debug/rustdoc" "--html-after-content" "/checkout/src/doc/footer.inc" "--html-before-content" "/checkout/obj/build/x86_64-unknown-linux-gnu/doc/version_info.html" "--html-in-header" "/checkout/src/doc/favicon.inc" "--markdown-no-toc" "--index-page" "/checkout/src/doc/index.md" "--markdown-playground-url" "https://play.rust-lang.org/" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/doc" "/checkout/src/doc/index.md" "--markdown-css" "rust.css" 2020-02-26T22:57:35.3130784Z 2020-02-26T22:57:35.3130896Z 2020-02-26T22:57:35.3183785Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test 2020-02-26T22:57:35.3184123Z Build completed unsuccessfully in 1:40:40 2020-02-26T22:57:35.3184123Z Build completed unsuccessfully in 1:40:40 2020-02-26T22:57:35.3192579Z == clock drift check == 2020-02-26T22:57:35.3210850Z local time: Wed Feb 26 22:57:35 UTC 2020 2020-02-26T22:57:35.5426358Z network time: Wed, 26 Feb 2020 22:57:35 GMT 2020-02-26T22:57:35.5431654Z == end clock drift check == 2020-02-26T22:57:37.1632645Z 2020-02-26T22:57:37.1680160Z ##[error]Bash exited with code '1'. 2020-02-26T22:57:37.1698204Z ##[section]Finishing: Run build 2020-02-26T22:57:37.1736692Z ##[section]Starting: Checkout rust-lang/rust@refs/pull/69494/merge to s 2020-02-26T22:57:37.1747249Z Task : Get sources 2020-02-26T22:57:37.1747534Z Description : Get sources from a repository. Supports Git, TfsVC, and SVN repositories. 2020-02-26T22:57:37.1747989Z Version : 1.0.0 2020-02-26T22:57:37.1748222Z Author : Microsoft 2020-02-26T22:57:37.1748222Z Author : Microsoft 2020-02-26T22:57:37.1748506Z Help : [More Information](https://go.microsoft.com/fwlink/?LinkId=798199) 2020-02-26T22:57:37.1749026Z ============================================================================== 2020-02-26T22:57:37.4921520Z Cleaning any cached credential from repository: rust-lang/rust (GitHub) 2020-02-26T22:57:37.4960206Z ##[section]Finishing: Checkout rust-lang/rust@refs/pull/69494/merge to s 2020-02-26T22:57:37.5041120Z Cleaning up task key 2020-02-26T22:57:37.5042396Z Start cleaning up orphan processes. 2020-02-26T22:57:37.5199156Z Terminate orphan process: pid (3419) (python) 2020-02-26T22:57:37.5410931Z ##[section]Finishing: Finalize Job 

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)

@aleksator
Copy link
Contributor

I believe what @ehuss says is true.

If we start passing '--crate-version' from cargo by default (which I think is desirable after this PR), we'll get two instances of the flag passed:

  1. Aforementioned default passage without git hash and date (not yet implemented).
  2. From the following code in rustdoc.rs

To me the most consistent approach seems to drop custom code for bootstrapping, but we do lose an additional information (hash & date) in that case.

What do others think?

@JohnTitor JohnTitor added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Mar 8, 2020
@ollie27
Copy link
Contributor

ollie27 commented Mar 10, 2020

Currently as far as cargo is concerned std is version 0.0.0:

version = "0.0.0"
so we'll definitely need to do something to make sure the std docs continue to display the correct version.

Another option would be to allow the flag to be specified multiple times, and only honor the last one.

This should work as long as cargo can guarantee that RUSTDOCFLAGS always comes after the automatically added --crate-version. That would allow any crate including std to override --crate-version. Alternatively cargo could not pass the default --crate-version if RUSTDOCFLAGS contains --crate-version.

@ehuss
Copy link
Contributor

ehuss commented Mar 10, 2020

Oh, I didn't even think about the version being 0.0.0.

I'm leaning towards changing Cargo to skip the --crate-version flag if it is supplied in RUSTDOCFLAGS. We generally try to avoid parsing rustc/rustdoc flags in Cargo, but I think in this case it should be fine.

Unfortunately bootstrap doesn't use RUSTDOCFLAGS, but instead a wrapper. To make that work, bootstrap will need to be changed to use something like this for rustdoc. I think if we do that we can git rid of all the environment variables in the rustdoc wrapper.

How does that sound?

@GuillaumeGomez
Copy link
Member Author

I'm fine with it.

@ehuss
Copy link
Contributor

ehuss commented Mar 16, 2020

Sounds good to me. @aleksator are you OK with changing Cargo to check for that flag? I think in the rustdoc function it will need to check if any of the extra arguments starts with --crate-version, and skip the version if it is already set. I think it should probably check both rustdocflags_args (which comes from RUSTDOCFLAGS) and extra_args_for (which comes from cargo rustdoc -- …).

@GuillaumeGomez it looks like this PR needs to add -Zunstable-options somewhere for the remaining unstable opts.

@aleksator
Copy link
Contributor

@ehuss Thanks for the tips, I'll do the changes in the cargo.

I did not, however, understood this part:

Unfortunately bootstrap doesn't use RUSTDOCFLAGS, but instead a wrapper. To make that work, bootstrap will need to be changed to use something like this for rustdoc. I think if we do that we can git rid of all the environment variables in the rustdoc wrapper.

The word "bootstrap" makes me think it's related to the compiler, since to compile one it needs to bootstrap itself. Does it mean some changes would needed to be done to rustc?
Also, where is the wrapper you are talking about here is located?

If someone could help me get a better understanding/point me out to the related documentation about this, I may be able to work on these changes as well. :)

@ehuss
Copy link
Contributor

ehuss commented Mar 17, 2020

Ah, sorry for the jargon. "bootstrap" is the build system used in the rust repository (sometimes also called "rustbuild" or "x.py" for the script that launches it). It's responsible for orchestrating building and testing the compiler and all its tools.

The rustdoc wrapper is here. It wraps rustdoc in order to do some dynamic decisions about which flags to use. It's generally a hack, and we'd like to eventually get away from it as much as possible.

Most of the documentation about rustbuild is in the rustc-dev-guide, but it's a little light.

Don't worry about updating it. I'll try to take care of that. It has to be done when we transition to beta (every 6 weeks), where we switch the version of Cargo used to bootstrap. All backwards incompatible changes (usually due to stabilizations) have to be done at once.

@aleksator
Copy link
Contributor

I think it should probably check both rustdocflags_args (which comes from RUSTDOCFLAGS) and extra_args_for (which comes from cargo rustdoc -- …)

@ehuss Which one should take precedence if both are supplied?

@ehuss
Copy link
Contributor

ehuss commented Mar 17, 2020

@ehuss Which one should take precedence if both are supplied?

I don't think we need to worry about that. Cargo just needs to check if the flag is specified in either, and if it is, don't add the --crate-version flag itself. If the user specifies both, they'll just get an error.

@aleksator
Copy link
Contributor

@rust-highfive
Copy link
Contributor

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.
2020-03-20T22:18:20.5336262Z ========================== Starting Command Output =========================== 2020-03-20T22:18:20.5338515Z [command]/bin/bash --noprofile --norc /home/vsts/work/_temp/865db772-eb27-44cf-b174-cd6d763cea6e.sh 2020-03-20T22:18:20.5338789Z 2020-03-20T22:18:20.5341730Z ##[section]Finishing: Disable git automatic line ending conversion 2020-03-20T22:18:20.5358197Z ##[section]Starting: Checkout rust-lang/rust@refs/pull/69494/merge to s 2020-03-20T22:18:20.5360912Z Task : Get sources 2020-03-20T22:18:20.5361159Z Description : Get sources from a repository. Supports Git, TfsVC, and SVN repositories. 2020-03-20T22:18:20.5361400Z Version : 1.0.0 2020-03-20T22:18:20.5361562Z Author : Microsoft --- 2020-03-20T22:18:21.5322181Z ##[command]git remote add origin https://github.com/rust-lang/rust 2020-03-20T22:18:21.5327026Z ##[command]git config gc.auto 0 2020-03-20T22:18:21.5330301Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader 2020-03-20T22:18:21.5333329Z ##[command]git config --get-all http.proxy 2020-03-20T22:18:21.5338410Z ##[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/69494/merge:refs/remotes/pull/69494/merge --- 2020-03-20T22:21:46.0464529Z Successfully built 87fc7de5641c 2020-03-20T22:21:46.0500076Z Successfully tagged rust-ci:latest 2020-03-20T22:21:46.0820913Z Built container sha256:87fc7de5641cb8b95a6bafb269faf3fe3659062fd5e72fcf47d30d19879ada78 2020-03-20T22:21:46.0840830Z Uploading finished image to https://rust-lang-ci-sccache2.s3.amazonaws.com/docker/fc0b9a6e3051d635da7d94215f84d5e9794477aa0cb68449a3fa307fcd796c24419e8a5e04fb3ebd554f2f8d17623f528e7a0f3c6d8c2a3324e25c8632491b33 2020-03-20T22:22:26.3926891Z upload failed: - to s3://rust-lang-ci-sccache2/docker/fc0b9a6e3051d635da7d94215f84d5e9794477aa0cb68449a3fa307fcd796c24419e8a5e04fb3ebd554f2f8d17623f528e7a0f3c6d8c2a3324e25c8632491b33 An error occurred (InvalidAccessKeyId) when calling the CreateMultipartUpload operation: The AWS Access Key Id you provided does not exist in our records. 2020-03-20T22:22:26.8027829Z [CI_JOB_NAME=x86_64-gnu-llvm-7] 2020-03-20T22:22:26.8055896Z == clock drift check == 2020-03-20T22:22:26.8065079Z local time: Fri Mar 20 22:22:26 UTC 2020 2020-03-20T22:22:26.9667007Z network time: Fri, 20 Mar 2020 22:22:26 GMT --- 2020-03-20T23:06:38.4612597Z .................................................................................................... 1700/9804 2020-03-20T23:06:42.0223207Z .................................................................................................... 1800/9804 2020-03-20T23:06:51.3445665Z ..........................................................................i......................... 1900/9804 2020-03-20T23:06:56.6918134Z .................................................................................................... 2000/9804 2020-03-20T23:07:03.4029547Z ................................................................iiiii............................... 2100/9804 2020-03-20T23:07:17.7910281Z .................................................................................................... 2300/9804 2020-03-20T23:07:19.6238596Z .................................................................................................... 2400/9804 2020-03-20T23:07:22.0384355Z .................................................................................................... 2500/9804 2020-03-20T23:07:38.3169005Z .................................................................................................... 2600/9804 --- 2020-03-20T23:09:50.1507240Z .....................................i...............i.............................................. 5000/9804 2020-03-20T23:09:57.6189340Z .................................................................................................... 5100/9804 2020-03-20T23:10:02.8371459Z ................................................................................i................... 5200/9804 2020-03-20T23:10:07.3342272Z .................................................................................................... 5300/9804 2020-03-20T23:10:15.5183215Z .............................................................ii.ii........i...i..................... 5400/9804 2020-03-20T23:10:22.1612522Z i................................................................................................... 5600/9804 2020-03-20T23:10:29.8902952Z .....i.............................................................................................. 5700/9804 2020-03-20T23:10:35.1980478Z ........................................................i........................................... 5800/9804 2020-03-20T23:10:40.6036285Z .................................................................................................... 5900/9804 2020-03-20T23:10:40.6036285Z .................................................................................................... 5900/9804 2020-03-20T23:10:47.3176783Z .................................................................................................... 6000/9804 2020-03-20T23:10:53.8722135Z ..................................................ii...i..ii...........i............................ 6100/9804 2020-03-20T23:11:11.0299589Z .................................................................................................... 6300/9804 2020-03-20T23:11:15.1267223Z .................................................................................................... 6400/9804 2020-03-20T23:11:15.1267223Z .................................................................................................... 6400/9804 2020-03-20T23:11:18.4664857Z ................................................................................i..ii............... 6500/9804 2020-03-20T23:11:37.1659227Z .................................................................................................... 6700/9804 2020-03-20T23:11:44.8708138Z ...............................................................................i.................... 6800/9804 2020-03-20T23:11:46.6213805Z .................................................................................................... 6900/9804 2020-03-20T23:11:48.3733222Z .................................................................................................... 7000/9804 --- 2020-03-20T23:13:11.9927748Z .................................................................................................... 7800/9804 2020-03-20T23:13:16.4214939Z .................................................................................................... 7900/9804 2020-03-20T23:13:21.2902186Z ..................................................................i................................. 8000/9804 2020-03-20T23:13:29.5518869Z .................................................................................................... 8100/9804 2020-03-20T23:13:34.0469565Z ...............iiiiiiiiii.i......................................................................... 8200/9804 2020-03-20T23:13:45.2884744Z .................................................................................................... 8400/9804 2020-03-20T23:13:50.3829552Z .................................................................................................... 8500/9804 2020-03-20T23:14:02.6797798Z .................................................................................................... 8600/9804 2020-03-20T23:14:08.0645099Z .................................................................................................... 8700/9804 --- 2020-03-20T23:16:03.1610399Z Suite("src/test/codegen") not skipped for "bootstrap::test::Codegen" -- not in ["src/tools/tidy"] 2020-03-20T23:16:03.1774300Z Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu) 2020-03-20T23:16:03.3511786Z 2020-03-20T23:16:03.3512389Z running 183 tests 2020-03-20T23:16:05.9547541Z iiii......i............ii.i..iiii....i....i...........i............i..i..................i....i..... 100/183 2020-03-20T23:16:08.0388037Z .......i.i.i...iii...iiiiiiiiiiiiiiii......................iii.............ii...... 2020-03-20T23:16:08.0394420Z 2020-03-20T23:16:08.0398976Z finished in 4.862 2020-03-20T23:16:08.0412726Z Suite("src/test/codegen-units") not skipped for "bootstrap::test::CodegenUnits" -- not in ["src/tools/tidy"] 2020-03-20T23:16:08.0597242Z Check compiletest suite=codegen-units mode=codegen-units (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu) --- 2020-03-20T23:16:09.8613750Z Suite("src/test/assembly") not skipped for "bootstrap::test::Assembly" -- not in ["src/tools/tidy"] 2020-03-20T23:16:09.8768020Z Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu) 2020-03-20T23:16:10.0024299Z 2020-03-20T23:16:10.0025908Z running 9 tests 2020-03-20T23:16:10.0027746Z iiiiiiiii 2020-03-20T23:16:10.0030740Z 2020-03-20T23:16:10.0031482Z finished in 0.125 2020-03-20T23:16:10.0032178Z Suite("src/test/incremental") not skipped for "bootstrap::test::Incremental" -- not in ["src/tools/tidy"] 2020-03-20T23:16:10.0205921Z Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu) --- 2020-03-20T23:16:27.4653283Z Suite("src/test/debuginfo") not skipped for "bootstrap::test::Debuginfo" -- not in ["src/tools/tidy"] 2020-03-20T23:16:27.4888515Z Check compiletest suite=debuginfo mode=debuginfo (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu) 2020-03-20T23:16:27.6471927Z 2020-03-20T23:16:27.6472317Z running 115 tests 2020-03-20T23:16:39.2093966Z iiiii..i.....i..i...i..i.i.i..i..i..ii....i.i....ii..........iiii.........i.....i..i.......ii.i.ii.. 100/115 2020-03-20T23:16:40.7780699Z ...iiii.....ii. 2020-03-20T23:16:40.7787777Z 2020-03-20T23:16:40.7787927Z finished in 13.289 2020-03-20T23:16:40.7795210Z Suite("src/test/ui-fulldeps") not skipped for "bootstrap::test::UiFullDeps" -- not in ["src/tools/tidy"] 2020-03-20T23:16:40.7800754Z Uplifting stage1 rustc (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu) --- 2020-03-20T23:26:40.9963889Z 2020-03-20T23:26:40.9965156Z Doc-tests core 2020-03-20T23:26:44.5119313Z 2020-03-20T23:26:44.5120381Z running 2482 tests 2020-03-20T23:26:51.7580357Z ......iiiii......................................................................................... 100/2482 2020-03-20T23:26:58.7749406Z .....................................................................................ii............. 200/2482 2020-03-20T23:27:15.1388394Z ....................i............................................................................... 400/2482 2020-03-20T23:27:15.1388394Z ....................i............................................................................... 400/2482 2020-03-20T23:27:22.8872006Z .........................................................................i..i..................iiii. 500/2482 2020-03-20T23:27:36.1654312Z .................................................................................................... 700/2482 2020-03-20T23:27:42.9488752Z .................................................................................................... 800/2482 2020-03-20T23:27:49.7372655Z .................................................................................................... 900/2482 2020-03-20T23:27:56.5326428Z .................................................................................................... 1000/2482 --- 2020-03-20T23:30:36.0378135Z .................................................thread '<unnamed>' panicked at 'explicit panic', src/libstd/io/stdio.rs:875:13 2020-03-20T23:30:36.0383894Z .. 300/761 2020-03-20T23:30:36.1350880Z .................................................................................................... 400/761 2020-03-20T23:30:38.2003175Z .................................................................................................... 500/761 2020-03-20T23:30:38.2354607Z ..................thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2741:22 2020-03-20T23:30:38.2364094Z ....thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: "SendError(..)"', src/libstd/sync/mpsc/mod.rs:2766:17 2020-03-20T23:30:38.2370457Z .thread '.<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2778:21 2020-03-20T23:30:38.2384816Z .....thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2645:13 2020-03-20T23:30:38.5363323Z ..........................................thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:1997:22 2020-03-20T23:30:38.5388424Z ....thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2034:21 2020-03-20T23:30:38.5420650Z .......thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:1916:13 2020-03-20T23:30:38.5713266Z .................. 600/761 2020-03-20T23:30:40.6039751Z ....................thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/mutex.rs:633:13 2020-03-20T23:30:40.6047742Z thread '<unnamed>' panicked at 'test panic in inner thread to poison mutex', src/libstd/sync/mutex.rs:587:13 --- 2020-03-20T23:30:49.4003644Z 2020-03-20T23:30:49.4004021Z running 1012 tests 2020-03-20T23:31:03.1117189Z i................................................................................................... 100/1012 2020-03-20T23:31:11.1570621Z .................................................................................................... 200/1012 2020-03-20T23:31:16.7165406Z ..................iii......i......i...i......i...................................................... 300/1012 2020-03-20T23:31:26.3954105Z ............................................i....i......................................ii.......... 500/1012 2020-03-20T23:31:32.2811789Z .................................................................................................... 600/1012 2020-03-20T23:31:36.6761759Z .................................................................................................... 700/1012 2020-03-20T23:31:36.6761759Z .................................................................................................... 700/1012 2020-03-20T23:31:42.1610721Z ......................................iiii.......................................................... 800/1012 2020-03-20T23:31:53.2748467Z .................................................................................................... 900/1012 2020-03-20T23:31:58.4760860Z ............................................................iiii.................................... 1000/1012 2020-03-20T23:31:58.8665982Z test result: ok. 992 passed; 0 failed; 20 ignored; 0 measured; 0 filtered out 2020-03-20T23:31:58.8666170Z 2020-03-20T23:31:58.8753065Z finished in 133.609 2020-03-20T23:31:58.8757573Z Set({"src/libterm"}) not skipped for "bootstrap::test::Crate" -- not in ["src/tools/tidy"] --- 2020-03-20T23:45:38.1288372Z 2020-03-20T23:45:38.1418365Z error: Could not document `alloc`. 2020-03-20T23:45:38.1418910Z 2020-03-20T23:45:38.1419558Z Caused by: 2020-03-20T23:45:38.1422787Z process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustdoc --edition=2018 --crate-type lib --crate-name alloc src/liballoc/lib.rs --target x86_64-unknown-linux-gnu -o /checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-linux-gnu/doc --cfg 'feature="compiler-builtins-c"' --error-format=json --json=diagnostic-rendered-ansi --markdown-css rust.css --markdown-no-toc --generate-redirect-pages --resource-suffix 1.44.0 --index-page /checkout/src/doc/index.md -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-linux-gnu/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/release/deps --extern compiler_builtins=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-linux-gnu/release/deps/libcompiler_builtins-18a9c72eaea4a16b.rmeta --extern core=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-linux-gnu/release/deps/libcore-08e1e792db7cc395.rmeta` (exit code: 1) 2020-03-20T23:45:38.1435254Z 2020-03-20T23:45:38.1435254Z 2020-03-20T23:45:38.1439762Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustdoc" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "2" "--release" "--locked" "--color" "always" "--features" "panic-unwind backtrace compiler-builtins-c" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "-Z" "unstable-options" "-p" "alloc" "--" "--markdown-css" "rust.css" "--markdown-no-toc" "--generate-redirect-pages" "--resource-suffix" "1.44.0" "--index-page" "/checkout/src/doc/index.md" 2020-03-20T23:45:38.1440866Z 2020-03-20T23:45:38.1440972Z 2020-03-20T23:45:38.1451285Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --exclude src/tools/tidy 2020-03-20T23:45:38.1451774Z Build completed unsuccessfully in 1:21:42 2020-03-20T23:45:38.1451774Z Build completed unsuccessfully in 1:21:42 2020-03-20T23:45:38.1499107Z == clock drift check == 2020-03-20T23:45:38.1510143Z local time: Fri Mar 20 23:45:38 UTC 2020 2020-03-20T23:45:38.4435753Z network time: Fri, 20 Mar 2020 23:45:38 GMT 2020-03-20T23:45:38.4440201Z == end clock drift check == 2020-03-20T23:45:40.2615373Z 2020-03-20T23:45:40.2678244Z ##[error]Bash exited with code '1'. 2020-03-20T23:45:40.2691493Z ##[section]Finishing: Run build 2020-03-20T23:45:40.2736749Z ##[section]Starting: Checkout rust-lang/rust@refs/pull/69494/merge to s 2020-03-20T23:45:40.2740723Z Task : Get sources 2020-03-20T23:45:40.2741000Z Description : Get sources from a repository. Supports Git, TfsVC, and SVN repositories. 2020-03-20T23:45:40.2741267Z Version : 1.0.0 2020-03-20T23:45:40.2741451Z Author : Microsoft 2020-03-20T23:45:40.2741451Z Author : Microsoft 2020-03-20T23:45:40.2741734Z Help : [More Information](https://go.microsoft.com/fwlink/?LinkId=798199) 2020-03-20T23:45:40.2742189Z ============================================================================== 2020-03-20T23:45:40.5524732Z Cleaning any cached credential from repository: rust-lang/rust (GitHub) 2020-03-20T23:45:40.5558846Z ##[section]Finishing: Checkout rust-lang/rust@refs/pull/69494/merge to s 2020-03-20T23:45:40.5622144Z Cleaning up task key 2020-03-20T23:45:40.5623165Z Start cleaning up orphan processes. 2020-03-20T23:45:40.5764313Z Terminate orphan process: pid (4112) (python) 2020-03-20T23:45:40.5902259Z ##[section]Finishing: Finalize Job 

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 @rust-lang/infra. (Feature Requests)

@GuillaumeGomez GuillaumeGomez force-pushed the stabilize-crate-version branch from aaeecfc to da5d03d Compare March 21, 2020 18:20
@GuillaumeGomez
Copy link
Member Author

I think everything is now working as expected thanks to @aleksator. Anything else to be done in here?

@aleksator
Copy link
Contributor

I think just a final review and r+ 🙂

@aleksator
Copy link
Contributor

@rustbot modify labels to -S-waiting-on-author, +S-waiting-on-review

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Mar 22, 2020
@GuillaumeGomez
Copy link
Member Author

Then let's go!

@bors: r=ehuss,aleksator,ollie27

@bors
Copy link
Collaborator

bors commented Mar 23, 2020

📌 Commit da5d03d has been approved by ehuss,aleksator,ollie27

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 23, 2020
@Centril Centril added this to the 1.44 milestone Mar 23, 2020
@Centril Centril added relnotes Marks issues that should be documented in the release notes of the next release. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. labels Mar 23, 2020
Centril added a commit to Centril/rust that referenced this pull request Mar 23, 2020
…ion, r=ehuss,aleksator,ollie27 Stabilize --crate-version option in rustdoc I don't see any reason to not stabilize it anymore, so let's go! cc @kinnison @ehuss r? @ollie27
This was referenced Mar 23, 2020
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 23, 2020
Rollup of 9 pull requests Successful merges: - rust-lang#68700 (Add Wake trait for safe construction of Wakers.) - rust-lang#69494 (Stabilize --crate-version option in rustdoc) - rust-lang#70080 (rustc_mir: remove extra space when pretty-printing MIR.) - rust-lang#70195 (Add test for issue rust-lang#53275) - rust-lang#70199 (Revised span-to-lines conversion to produce an empty vec on DUMMY_SP.) - rust-lang#70299 (add err_machine_stop macro) - rust-lang#70300 (Reword unused variable warning) - rust-lang#70315 (Rename remaining occurences of Void to Opaque.) - rust-lang#70318 (Split long derive lists into two derive attributes.) Failed merges: r? @ghost
@bors bors merged commit e37e81c into rust-lang:master Mar 23, 2020
@GuillaumeGomez GuillaumeGomez deleted the stabilize-crate-version branch March 28, 2020 15:43
Marwes pushed a commit to Marwes/rust that referenced this pull request May 7, 2020
This was accidentally included in rust-lang#69494 after a rebase and given how much `inflate` and `keccak` stresses the obligation forest seems like a likely culprit to the regression in those benchmarks. (It is necessary in rust-lang#69218 as obligation forest needs to accurately track the root variables or unifications will get lost)
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Jun 8, 2020
Pkgsrc changes: * Remove a couple diffs which are now integrated upstream. * Adjust cargo checksums after upstream upgrades. * Belatedly bump the curl dependency * Unset DESTDIR during the build phase, to work around a mysterious build bug deep in the bowels of llvm. * Bump nearly all bootstraps to 1.43.1. Upstream changes: Version 1.44.0 (2020-06-04) ========================== Language -------- - [You can now use `async/.await` with `#[no_std]` enabled.][69033] - [Added the `unused_braces` lint.][70081] **Syntax-only changes** - [Expansion-driven outline module parsing][69838] ```rust #[cfg(FALSE)] mod foo { mod bar { mod baz; // `foo/bar/baz.rs` doesn't exist, but no error! } } ``` These are still rejected semantically, so you will likely receive an error but these changes can be seen and parsed by macros and conditional compilation. Compiler -------- - [Rustc now respects the `-C codegen-units` flag in incremental mode.][70156] Additionally when in incremental mode rustc defaults to 256 codegen units. - [Refactored `catch_unwind`, to have zero-cost unless unwinding is enabled and a panic is thrown.][67502] - [Added tier 3\* support for the `aarch64-unknown-none` and `aarch64-unknown-none-softfloat` targets.][68334] - [Added tier 3 support for `arm64-apple-tvos` and `x86_64-apple-tvos` targets.][68191] Libraries --------- - [Special cased `vec![]` to map directly to `Vec::new()`.][70632] This allows `vec![]` to be able to be used in `const` contexts. - [`convert::Infallible` now implements `Hash`.][70281] - [`OsString` now implements `DerefMut` and `IndexMut` returning a `&mut OsStr`.][70048] - [Unicode 13 is now supported.][69929] - [`String` now implements `From<&mut str>`.][69661] - [`IoSlice` now implements `Copy`.][69403] - [`Vec<T>` now implements `From<[T; N]>`.][68692] Where `N` is less than 32. - [`proc_macro::LexError` now implements `fmt::Display` and `Error`.][68899] - [`from_le_bytes`, `to_le_bytes`, `from_be_bytes`, `to_be_bytes`, `from_ne_bytes`, and `to_ne_bytes` methods are now `const` for all integer types.][69373] Stabilized APIs --------------- - [`PathBuf::with_capacity`] - [`PathBuf::capacity`] - [`PathBuf::clear`] - [`PathBuf::reserve`] - [`PathBuf::reserve_exact`] - [`PathBuf::shrink_to_fit`] - [`f32::to_int_unchecked`] - [`f64::to_int_unchecked`] - [`Layout::align_to`] - [`Layout::pad_to_align`] - [`Layout::array`] - [`Layout::extend`] Cargo ----- - [Added the `cargo tree` command which will print a tree graph of your dependencies.][cargo/8062] E.g. ``` mdbook v0.3.2 (/Users/src/rust/mdbook) +-- ammonia v3.0.0 | +-- html5ever v0.24.0 | | +-- log v0.4.8 | | | +-- cfg-if v0.1.9 | | +-- mac v0.1.1 | | +-- markup5ever v0.9.0 | | +-- log v0.4.8 (*) | | +-- phf v0.7.24 | | | +-- phf_shared v0.7.24 | | | +-- siphasher v0.2.3 | | | +-- unicase v1.4.2 | | | [build-dependencies] | | | +-- version_check v0.1.5 ... ``` You can also display dependencies on multiple versions of the same crate with `cargo tree -d` (short for `cargo tree --duplicates`). Misc ---- - [Rustdoc now allows you to specify `--crate-version` to have rustdoc include the version in the sidebar.][69494] Compatibility Notes ------------------- - [Rustc now correctly generates static libraries on Windows GNU targets with the `.a` extension, rather than the previous `.lib`.][70937] - [Removed the `-C no_integrated_as` flag from rustc.][70345] - [The `file_name` property in JSON output of macro errors now points the actual source file rather than the previous format of `<NAME macros>`.][70969] **Note:** this may not point a file that actually exists on the user's system. - [The minimum required external LLVM version has been bumped to LLVM 8.][71147] - [`mem::{zeroed, uninitialised}` will now panic when used with types that do not allow zero initialization such as `NonZeroU8`.][66059] This was previously a warning. - [In 1.45.0 (the next release) converting a `f64` to `u32` using the `as` operator has been defined as a saturating operation.][71269] This was previously undefined behaviour, you can use the `{f64, f32}::to_int_unchecked` methods to continue using the current behaviour which may desirable in rare performance sensitive situations. Internal Only ------------- These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools. - [dep_graph Avoid allocating a set on when the number reads are small.][69778] - [Replace big JS dict with JSON parsing.][71250] [69373]: rust-lang/rust#69373 [66059]: rust-lang/rust#66059 [68191]: rust-lang/rust#68191 [68899]: rust-lang/rust#68899 [71147]: rust-lang/rust#71147 [71250]: rust-lang/rust#71250 [70937]: rust-lang/rust#70937 [70969]: rust-lang/rust#70969 [70632]: rust-lang/rust#70632 [70281]: rust-lang/rust#70281 [70345]: rust-lang/rust#70345 [70048]: rust-lang/rust#70048 [70081]: rust-lang/rust#70081 [70156]: rust-lang/rust#70156 [71269]: rust-lang/rust#71269 [69838]: rust-lang/rust#69838 [69929]: rust-lang/rust#69929 [69661]: rust-lang/rust#69661 [69778]: rust-lang/rust#69778 [69494]: rust-lang/rust#69494 [69403]: rust-lang/rust#69403 [69033]: rust-lang/rust#69033 [68692]: rust-lang/rust#68692 [68334]: rust-lang/rust#68334 [67502]: rust-lang/rust#67502 [cargo/8062]: rust-lang/cargo#8062 [`PathBuf::with_capacity`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.with_capacity [`PathBuf::capacity`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.capacity [`PathBuf::clear`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.clear [`PathBuf::reserve`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.reserve [`PathBuf::reserve_exact`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.reserve_exact [`PathBuf::shrink_to_fit`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.shrink_to_fit [`f32::to_int_unchecked`]: https://doc.rust-lang.org/std/primitive.f32.html#method.to_int_unchecked [`f64::to_int_unchecked`]: https://doc.rust-lang.org/std/primitive.f64.html#method.to_int_unchecked [`Layout::align_to`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.align_to [`Layout::pad_to_align`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.pad_to_align [`Layout::array`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.array [`Layout::extend`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.extend
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Jun 9, 2020
Version 1.44.0 (2020-06-04) ========================== Language -------- - [You can now use `async/.await` with `#[no_std]` enabled.][69033] - [Added the `unused_braces` lint.][70081] **Syntax-only changes** - [Expansion-driven outline module parsing][69838] ```rust #[cfg(FALSE)] mod foo { mod bar { mod baz; // `foo/bar/baz.rs` doesn't exist, but no error! } } ``` These are still rejected semantically, so you will likely receive an error but these changes can be seen and parsed by macros and conditional compilation. Compiler -------- - [Rustc now respects the `-C codegen-units` flag in incremental mode.][70156] Additionally when in incremental mode rustc defaults to 256 codegen units. - [Refactored `catch_unwind` to have zero-cost, unless unwinding is enabled and a panic is thrown.][67502] - [Added tier 3\* support for the `aarch64-unknown-none` and `aarch64-unknown-none-softfloat` targets.][68334] - [Added tier 3 support for `arm64-apple-tvos` and `x86_64-apple-tvos` targets.][68191] Libraries --------- - [Special cased `vec![]` to map directly to `Vec::new()`.][70632] This allows `vec![]` to be able to be used in `const` contexts. - [`convert::Infallible` now implements `Hash`.][70281] - [`OsString` now implements `DerefMut` and `IndexMut` returning a `&mut OsStr`.][70048] - [Unicode 13 is now supported.][69929] - [`String` now implements `From<&mut str>`.][69661] - [`IoSlice` now implements `Copy`.][69403] - [`Vec<T>` now implements `From<[T; N]>`.][68692] Where `N` is at most 32. - [`proc_macro::LexError` now implements `fmt::Display` and `Error`.][68899] - [`from_le_bytes`, `to_le_bytes`, `from_be_bytes`, `to_be_bytes`, `from_ne_bytes`, and `to_ne_bytes` methods are now `const` for all integer types.][69373] Stabilized APIs --------------- - [`PathBuf::with_capacity`] - [`PathBuf::capacity`] - [`PathBuf::clear`] - [`PathBuf::reserve`] - [`PathBuf::reserve_exact`] - [`PathBuf::shrink_to_fit`] - [`f32::to_int_unchecked`] - [`f64::to_int_unchecked`] - [`Layout::align_to`] - [`Layout::pad_to_align`] - [`Layout::array`] - [`Layout::extend`] Cargo ----- - [Added the `cargo tree` command which will print a tree graph of your dependencies.][cargo/8062] E.g. ``` mdbook v0.3.2 (/Users/src/rust/mdbook) ├── ammonia v3.0.0 │ ├── html5ever v0.24.0 │ │ ├── log v0.4.8 │ │ │ └── cfg-if v0.1.9 │ │ ├── mac v0.1.1 │ │ └── markup5ever v0.9.0 │ │ ├── log v0.4.8 (*) │ │ ├── phf v0.7.24 │ │ │ └── phf_shared v0.7.24 │ │ │ ├── siphasher v0.2.3 │ │ │ └── unicase v1.4.2 │ │ │ [build-dependencies] │ │ │ └── version_check v0.1.5 ... ``` You can also display dependencies on multiple versions of the same crate with `cargo tree -d` (short for `cargo tree --duplicates`). Misc ---- - [Rustdoc now allows you to specify `--crate-version` to have rustdoc include the version in the sidebar.][69494] Compatibility Notes ------------------- - [Rustc now correctly generates static libraries on Windows GNU targets with the `.a` extension, rather than the previous `.lib`.][70937] - [Removed the `-C no_integrated_as` flag from rustc.][70345] - [The `file_name` property in JSON output of macro errors now points the actual source file rather than the previous format of `<NAME macros>`.][70969] **Note:** this may not point to a file that actually exists on the user's system. - [The minimum required external LLVM version has been bumped to LLVM 8.][71147] - [`mem::{zeroed, uninitialised}` will now panic when used with types that do not allow zero initialization such as `NonZeroU8`.][66059] This was previously a warning. - [In 1.45.0 (the next release) converting a `f64` to `u32` using the `as` operator has been defined as a saturating operation.][71269] This was previously undefined behaviour, but you can use the `{f64, f32}::to_int_unchecked` methods to continue using the current behaviour, which may be desirable in rare performance sensitive situations. Internal Only ------------- These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools. - [dep_graph Avoid allocating a set on when the number reads are small.][69778] - [Replace big JS dict with JSON parsing.][71250] [69373]: rust-lang/rust#69373 [66059]: rust-lang/rust#66059 [68191]: rust-lang/rust#68191 [68899]: rust-lang/rust#68899 [71147]: rust-lang/rust#71147 [71250]: rust-lang/rust#71250 [70937]: rust-lang/rust#70937 [70969]: rust-lang/rust#70969 [70632]: rust-lang/rust#70632 [70281]: rust-lang/rust#70281 [70345]: rust-lang/rust#70345 [70048]: rust-lang/rust#70048 [70081]: rust-lang/rust#70081 [70156]: rust-lang/rust#70156 [71269]: rust-lang/rust#71269 [69838]: rust-lang/rust#69838 [69929]: rust-lang/rust#69929 [69661]: rust-lang/rust#69661 [69778]: rust-lang/rust#69778 [69494]: rust-lang/rust#69494 [69403]: rust-lang/rust#69403 [69033]: rust-lang/rust#69033 [68692]: rust-lang/rust#68692 [68334]: rust-lang/rust#68334 [67502]: rust-lang/rust#67502 [cargo/8062]: rust-lang/cargo#8062 [`PathBuf::with_capacity`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.with_capacity [`PathBuf::capacity`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.capacity [`PathBuf::clear`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.clear [`PathBuf::reserve`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.reserve [`PathBuf::reserve_exact`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.reserve_exact [`PathBuf::shrink_to_fit`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.shrink_to_fit [`f32::to_int_unchecked`]: https://doc.rust-lang.org/std/primitive.f32.html#method.to_int_unchecked [`f64::to_int_unchecked`]: https://doc.rust-lang.org/std/primitive.f64.html#method.to_int_unchecked [`Layout::align_to`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.align_to [`Layout::pad_to_align`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.pad_to_align [`Layout::array`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.array [`Layout::extend`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.extend
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Jul 6, 2020
Pkgsrc changes: * Remove the clutter caused by the cross-compile setup from Makefile (Now consigned to my own private cross.mk file.) * Remove a couple of patches which are now integrated upstream. * Minor adjustments to a couple of other patches. * Adjust cargo checksums after upstream upgrades. * Belatedly bump the curl dependency * If doing a "dist" build, unset DESTDIR during the build phase, to work around a mysterious build bug deep in the bowels of llvm, causing llvm tools to be installed to a directory unexpecetd by the rest of the rust build, ref. rust-lang/rust#73132 A "dist" build is not expected to be followed by an "install". * Bump nearly all bootstraps to 1.43.1; NetBSD earmv7hf bootstrap bumped to 1.44.0, as that one now finally builds and works. Upstream changes: Version 1.44.0 (2020-06-04) ========================== Language -------- - [You can now use `async/.await` with `#[no_std]` enabled.][69033] - [Added the `unused_braces` lint.][70081] **Syntax-only changes** - [Expansion-driven outline module parsing][69838] ```rust #[cfg(FALSE)] mod foo { mod bar { mod baz; // `foo/bar/baz.rs` doesn't exist, but no error! } } ``` These are still rejected semantically, so you will likely receive an error but these changes can be seen and parsed by macros and conditional compilation. Compiler -------- - [Rustc now respects the `-C codegen-units` flag in incremental mode.][70156] Additionally when in incremental mode rustc defaults to 256 codegen units. - [Refactored `catch_unwind`, to have zero-cost unless unwinding is enabled and a panic is thrown.][67502] - [Added tier 3\* support for the `aarch64-unknown-none` and `aarch64-unknown-none-softfloat` targets.][68334] - [Added tier 3 support for `arm64-apple-tvos` and `x86_64-apple-tvos` targets.][68191] Libraries --------- - [Special cased `vec![]` to map directly to `Vec::new()`.][70632] This allows `vec![]` to be able to be used in `const` contexts. - [`convert::Infallible` now implements `Hash`.][70281] - [`OsString` now implements `DerefMut` and `IndexMut` returning a `&mut OsStr`.][70048] - [Unicode 13 is now supported.][69929] - [`String` now implements `From<&mut str>`.][69661] - [`IoSlice` now implements `Copy`.][69403] - [`Vec<T>` now implements `From<[T; N]>`.][68692] Where `N` is less than 32. - [`proc_macro::LexError` now implements `fmt::Display` and `Error`.][68899] - [`from_le_bytes`, `to_le_bytes`, `from_be_bytes`, `to_be_bytes`, `from_ne_bytes`, and `to_ne_bytes` methods are now `const` for all integer types.][69373] Stabilized APIs --------------- - [`PathBuf::with_capacity`] - [`PathBuf::capacity`] - [`PathBuf::clear`] - [`PathBuf::reserve`] - [`PathBuf::reserve_exact`] - [`PathBuf::shrink_to_fit`] - [`f32::to_int_unchecked`] - [`f64::to_int_unchecked`] - [`Layout::align_to`] - [`Layout::pad_to_align`] - [`Layout::array`] - [`Layout::extend`] Cargo ----- - [Added the `cargo tree` command which will print a tree graph of your dependencies.][cargo/8062] E.g. ``` mdbook v0.3.2 (/Users/src/rust/mdbook) +-- ammonia v3.0.0 | +-- html5ever v0.24.0 | | +-- log v0.4.8 | | | +-- cfg-if v0.1.9 | | +-- mac v0.1.1 | | +-- markup5ever v0.9.0 | | +-- log v0.4.8 (*) | | +-- phf v0.7.24 | | | +-- phf_shared v0.7.24 | | | +-- siphasher v0.2.3 | | | +-- unicase v1.4.2 | | | [build-dependencies] | | | +-- version_check v0.1.5 ... ``` You can also display dependencies on multiple versions of the same crate with `cargo tree -d` (short for `cargo tree --duplicates`). Misc ---- - [Rustdoc now allows you to specify `--crate-version` to have rustdoc include the version in the sidebar.][69494] Compatibility Notes ------------------- - [Rustc now correctly generates static libraries on Windows GNU targets with the `.a` extension, rather than the previous `.lib`.][70937] - [Removed the `-C no_integrated_as` flag from rustc.][70345] - [The `file_name` property in JSON output of macro errors now points the actual source file rather than the previous format of `<NAME macros>`.][70969] **Note:** this may not point a file that actually exists on the user's system. - [The minimum required external LLVM version has been bumped to LLVM 8.][71147] - [`mem::{zeroed, uninitialised}` will now panic when used with types that do not allow zero initialization such as `NonZeroU8`.][66059] This was previously a warning. - [In 1.45.0 (the next release) converting a `f64` to `u32` using the `as` operator has been defined as a saturating operation.][71269] This was previously undefined behaviour, you can use the `{f64, f32}::to_int_unchecked` methods to continue using the current behaviour which may desirable in rare performance sensitive situations. Internal Only ------------- These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools. - [dep_graph Avoid allocating a set on when the number reads are small.][69778] - [Replace big JS dict with JSON parsing.][71250] [69373]: rust-lang/rust#69373 [66059]: rust-lang/rust#66059 [68191]: rust-lang/rust#68191 [68899]: rust-lang/rust#68899 [71147]: rust-lang/rust#71147 [71250]: rust-lang/rust#71250 [70937]: rust-lang/rust#70937 [70969]: rust-lang/rust#70969 [70632]: rust-lang/rust#70632 [70281]: rust-lang/rust#70281 [70345]: rust-lang/rust#70345 [70048]: rust-lang/rust#70048 [70081]: rust-lang/rust#70081 [70156]: rust-lang/rust#70156 [71269]: rust-lang/rust#71269 [69838]: rust-lang/rust#69838 [69929]: rust-lang/rust#69929 [69661]: rust-lang/rust#69661 [69778]: rust-lang/rust#69778 [69494]: rust-lang/rust#69494 [69403]: rust-lang/rust#69403 [69033]: rust-lang/rust#69033 [68692]: rust-lang/rust#68692 [68334]: rust-lang/rust#68334 [67502]: rust-lang/rust#67502 [cargo/8062]: rust-lang/cargo#8062 [`PathBuf::with_capacity`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.with_capacity [`PathBuf::capacity`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.capacity [`PathBuf::clear`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.clear [`PathBuf::reserve`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.reserve [`PathBuf::reserve_exact`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.reserve_exact [`PathBuf::shrink_to_fit`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.shrink_to_fit [`f32::to_int_unchecked`]: https://doc.rust-lang.org/std/primitive.f32.html#method.to_int_unchecked [`f64::to_int_unchecked`]: https://doc.rust-lang.org/std/primitive.f64.html#method.to_int_unchecked [`Layout::align_to`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.align_to [`Layout::pad_to_align`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.pad_to_align [`Layout::array`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.array [`Layout::extend`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.extend
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
relnotes Marks issues that should be documented in the release notes of the next release. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
9 participants