1.26.0 prerelease testing


#1

Rust 1.26 is released on Thursday and builds are available now for testing. Release artifacts are uploaded to dev (dev-static.rust-lang.org) currently and will be promoted to prod (static.rust-lang.org) this Thursday. The URL is https://dev-static.rust-lang.org/dist/2018-05-07

You can test rustup with

RUSTUP_DIST_SERVER=https://dev-static.rust-lang.org rustup update stable

Please let us know if you run into any issues! Pending any detected regressions these are likely to be the exact artifacts that we’ll release on Thursday.

You can find the release notes on GitHub as well: https://github.com/Aaronepower/rust/blob/master/RELEASES.md (these haven’t been merged yet, but will be soon).


Pre-RFC: BinaryHeap Flexibility
#2

The release notes say:

impl Trait is now stable allowing you to have abstract return types. e.g. fn foo() -> impl Iterator<Item=u8> or fn open(path: impl AsRef<Path>).

However, only the first of those two is an “abstract return type”; the second is just a convenient shorthand for a generic parameter.


#3
Ignore me, I'm an idiot

The component rustfmt-preview isn’t in this release toolchain. Is this a mistake, (a side-effect of downloading from the dev server,) or just an unfortunate happening that we’ll have to live with for the next six weeks?

>rustup --version
rustup 1.11.0 (e751ff9f8 2018-02-13)

>cargo --version
cargo 1.26.0 (0e7c5a931 2018-04-06)

>rustup component add rusfmt-preview
error: toolchain 'stable-x86_64-pc-windows-msvc' does not contain component 'rusfmt-preview' for target 'x86_64-pc-windows-msvc'

>rustup show
Default host: x86_64-pc-windows-msvc

installed toolchains
--------------------

stable-x86_64-pc-windows-msvc (default)
beta-x86_64-pc-windows-msvc
nightly-x86_64-pc-windows-msvc
stage1
stage2

active toolchain
----------------

stable-x86_64-pc-windows-msvc (default)
rustc 1.26.0 (a77568041 2018-05-07)

>echo %RUSTUP_DIST_SERVER%
https://dev-static.rust-lang.org

#4

Note that rusfmt should be rustfmt (missing a t).


#5

I did this five times. How did I mess this up five times. It works if you spell it correctly :sweat:


#6

Found a bug which will become a breaking chage to fix, we’re stabilizing the combination of features that allows you to put impl Trait in the return type of main as in fn main() -> impl Copy {}. Amusing but unintended so it’s better to forbid this for now. Issue.


#7

Does the issue that @glandium found yesterday regarding specialization count as a bug?

Playground link: https://play.rust-lang.org/?gist=fc7cf5145222c432e2bd8de1b0a425cd&version=nightly&mode=debug


#8

@ZackPierce since specialization is still a nightly feature that doesn’t really affect releasing 1.26 as stable (but looks like a fun issue, adding mutually-recursive calls makes it even more interesting: https://play.rust-lang.org/?gist=ebdd5bdf639290c987719ef3844d34ae&version=nightly&mode=debug)