
Announcing Rust 1.29 - steveklabnik
https://blog.rust-lang.org/2018/09/13/Rust-1.29.html
======
bluejekyll

        cargo doc --document-private-items
    

This is going to be excellent. I often find in Rust, more than other
languages, that the documentation really helps fill a mental gap around the
types that you expect a type to implement, vs. what it actually implements.
The compiler always catches this, but the docs are also a great way of
discovering this.

It's going to be a huge help when working on internal interfaces in a library.
cargo doc is such an excellent tool, and while the UI took a minute to learn
when I first used it, it's really an amazingly helpful tool, and feels more
integrated than similar tools in other languages.

------
eslaught
A note to any Rust maintainers reading:

There is something wrong with the line spacing. It's so narrow that it's
hiding the underscore in one of the code examples:

[https://screenshots.firefox.com/PYoTEXQwowBJoG30/blog.rust-l...](https://screenshots.firefox.com/PYoTEXQwowBJoG30/blog.rust-
lang.org)

Firefox 62 on Linux (Ubuntu 16.04)

~~~
steveklabnik
Thank you! I recently merged a PR to change some CSS; I'll tweak and/or revert
it. It looks okay on Firefox on Windows...

[https://github.com/rust-lang/blog.rust-
lang.org/issues/269](https://github.com/rust-lang/blog.rust-
lang.org/issues/269)

------
dj-wonk
Glad to hear that 1.29 now brings clippy to stable Rust. (Before, clippy
required nightly Rust.)

------
majewsky
What's the status for futures/async-await? Or, asking more generally: Where
can I go to keep myself up-to-date with this topic?

~~~
steveklabnik
Status is, there's an initial, incomplete implementation in nightly. It's not
going to land in stable until early next year.

[https://github.com/rust-lang/rust/issues/50547](https://github.com/rust-
lang/rust/issues/50547) is the tracking issue.

------
runevault
A question about Cargo Fix. Is that only on warnings, or can/does it currently
fix errors it knows the problem with as well?

~~~
steveklabnik
I'm not 100% sure, but right now, the focus has mostly been on the use-case of
upgrading to Rust 2018, which is warnings-based. I'd imagine it would
eventually support both, but am not 100% sure about where exactly it is today.

Errors are a bit more challenging, because fixing an error may introduce more,
new errors, making it harder to tell if applying the fix is correct or not.

~~~
runevault
That's part of why I was wondering. Looking forward to playing with it (plus
having Clippy on stable since that's all I use)

~~~
steveklabnik
I asked the dev on Discord and he said:

> I think in theory we could fix errors too, because they have the same
> diagnostics format. Don't think we do that right now though, and we are
> probably not prepared to handle the compiler exiting with a non-zero code

So yeah, seems like that's the issue.

