Skip to content

C/QotW+notable changes #1095

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

Merged
merged 1 commit into from
Dec 12, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 48 additions & 36 deletions drafts/2019-12-10-this-week-in-rust.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ Find all #Rust2020 posts at [Read Rust](https://readrust.net/rust-2020/).

# Crate of the Week

This week's crate is [joinery](https://docs.rs/joinery), a library for generic string joining.
This week's crate is [StaticVec](https://github.com/slightlyoutofphase/staticvec), a nightly-only const-generics-backed fixed size vec crate.

Thanks to [Nathan West](https://users.rust-lang.org/t/crate-of-the-week/2704/677) for the suggestions!
Thanks to [ABagOfChips](https://users.rust-lang.org/t/crate-of-the-week/2704/682) for the suggestions!

[Submit your suggestions and votes for next week][submit_crate]!

Expand All @@ -46,35 +46,49 @@ If you are a Rust project owner and are looking for contributors, please submit

# Updates from Rust Core

264 pull requests were [merged in the last week][merged]

[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2019-11-25..2019-12-02

* [stabilize nested self receivers in 1.41.0](https://github.com/rust-lang/rust/pull/64325)
* [add memoization for const function evaluations](https://github.com/rust-lang/rust/pull/66294)
* [add crc and crypto to target feature whitelist on arm](https://github.com/rust-lang/rust/pull/66918)
* [conditional compilation for sanitizers](https://github.com/rust-lang/rust/pull/66245)
* [add support for sanitizer recover and tracking origins of uninitialized memory](https://github.com/rust-lang/rust/pull/66522)
* [async fn resume after completion](https://github.com/rust-lang/rust/pull/66321)
* [use structured suggestion when requiring `Copy` constraint in type param](https://github.com/rust-lang/rust/pull/66567)
* [various tweaks to diagnostic output](https://github.com/rust-lang/rust/pull/66754)
* [add version mismatch help message for unimplemented trait](https://github.com/rust-lang/rust/pull/66561)
* [AST address-of](https://github.com/rust-lang/rust/pull/66671)
* [initial implementation of or-pattern usefulness checking](https://github.com/rust-lang/rust/pull/66612)
* [polonius: illegal subset relation errors using placeholder loans](https://github.com/rust-lang/polonius/pull/137)
* [fix opaque types resulting from projections in function signature](https://github.com/rust-lang/rust/pull/66178)
* [simplify memory categorization](https://github.com/rust-lang/rust/pull/66246)
* [remove interior mutability in mir predecessors cache](https://github.com/rust-lang/rust/pull/64736)
* [rustc: move debug info from LocalDecl and UpvarDecl into a dedicated VarDebugInfo](https://github.com/rust-lang/rust/pull/56231)
* [create promoted MIR fragments for `const` and `static`s](https://github.com/rust-lang/rust/pull/66642)
* [alloc: add new_zeroed() versions like new_uninit()](https://github.com/rust-lang/rust/pull/66128)
* [impl TrustedLen for vec::Drain](https://github.com/rust-lang/rust/pull/66759)
* [atomic as_mut_ptr](https://github.com/rust-lang/rust/pull/66705)
* [implement Debug for MaybeUninit](https://github.com/rust-lang/rust/pull/65013)
* [libc: add support for shared memory operations for solaris/illumos](https://github.com/rust-lang/libc/pull/1584)
* [cargo: stabilize profile-overrides](https://github.com/rust-lang/cargo/pull/7591)
* [rustup: add toolchain install --allow-downgrade option](https://github.com/rust-lang/rustup/pull/2126)
* [docs.rs: match library properly if multiple crate-types are in use](https://github.com/rust-lang/docs.rs/pull/499)
247 pull requests were [merged in the last week][merged]

[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2019-12-02..2019-12-09

* [implement `#[track_caller]` attribute](https://github.com/rust-lang/rust/pull/65881) (RFC #[2091](https://rust-lang.github.io/rfcs/2091-inline-semantic.html))
* [syntax: unify macro and attribute arguments in AST](https://github.com/rust-lang/rust/pull/66935)
* [stdarch: add CRC32 detection to arm32](https://github.com/rust-lang/stdarch/pull/830)
* [fix `TypedArena` returning wrong pointers for recursive allocations](https://github.com/rust-lang/rust/pull/67003)
* [make `ForeignItem` an alias of `Item`](https://github.com/rust-lang/rust/pull/67114)
* [remove boxed closures in address parser](https://github.com/rust-lang/rust/pull/67085)
* [rustc: hide HirId's fmt::Debug output from -Z span_free_formats](https://github.com/rust-lang/rust/pull/66850)
* [make `process_obligations()` greedier](https://github.com/rust-lang/rust/pull/66408)
* [check break target availability when checking breaks with values](https://github.com/rust-lang/rust/pull/66863)
* [include a span in more `expected...found` notes](https://github.com/rust-lang/rust/pull/67011)
* [do not ICE on async fn with non-Copy inferred type arg](https://github.com/rust-lang/rust/pull/67004)
* [make try_mark_previous_green aware of cycles](https://github.com/rust-lang/rust/pull/66846)
* [add feature gate for mut refs in const fn](Add feature gate for mut refs in const fn)
* [change unused_labels from allow to warn](https://github.com/rust-lang/rust/pull/66325)
* [show the sign for signed ops on `exact_div`](https://github.com/rust-lang/rust/pull/66148)
* [chalk: convert ensure_answer_recursively to be iterative instead of recursive](https://github.com/rust-lang/chalk/pull/281)
* [handle diverging functions forwarding their return place](https://github.com/rust-lang/rust/pull/66827)
* [cleanup `BodyCache`](https://github.com/rust-lang/rust/pull/66991)
* [remove hack for top-level or-patterns in match checking](https://github.com/rust-lang/rust/pull/66967)
* [const-prop: fix ICE calculating enum discriminant](https://github.com/rust-lang/rust/pull/66960)
* [miri: tweak and use `OsStr` interfaces](https://github.com/rust-lang/miri/pull/1099)
* [only memoize const fn calls during const eval](https://github.com/rust-lang/rust/pull/66866)
* [miri: add flag to ignore memory leaks](https://github.com/rust-lang/miri/pull/1106)
* [better way to ignore tests in miri](https://github.com/rust-lang/miri/pull/1105)
* [codegen "unreachable" for invalid `SetDiscriminant`](https://github.com/rust-lang/rust/pull/67054)
* [codegen: Migrate to `LLVM`{`Get`, `Set`}`ValueName2`](https://github.com/rust-lang/rust/pull/67033)
* [update the minimum external LLVM to 7](https://github.com/rust-lang/rust/pull/66973)
* [implement illegal subset relations errors using Polonius](https://github.com/rust-lang/rust/pull/67016)
* [add `ExitStatusExt` into prelude](https://github.com/rust-lang/rust/pull/67041)
* [rename `bool::then_*` to `bool::to_option_*` and use where appropriate](https://github.com/rust-lang/rust/pull/65195)
* [add `{f32,f64}::approx_unchecked_to<Int>` unsafe methods](https://github.com/rust-lang/rust/pull/66841)
* [add test for `NAME` environment variable when `cargo new`](https://github.com/rust-lang/cargo/pull/7667)
* [cargo: remove `--offline` empty index error](https://github.com/rust-lang/cargo/pull/7655)
* [cargo: add a `--offline` hint](https://github.com/rust-lang/cargo/pull/7654)
* [rustdoc: less minification](https://github.com/rust-lang/rust/pull/66828)
* [rustfmt: switch to non-recursive mode by default](https://github.com/rust-lang/rustfmt/pull/3938)
* [rustup: output the previous version of a toolchain when it is updated](https://github.com/rust-lang/rustup/pull/2143)
* [rustup: resolve potential future shock (x.yyy.zz)](https://github.com/rust-lang/rustup/pull/2132)
* [crates.io: add audit trail to the publish, yank and unyank transactions](https://github.com/rust-lang/crates.io/pull/1700)

## Approved RFCs

Expand Down Expand Up @@ -136,13 +150,11 @@ Email the [Rust Community Team][community] for access.

# Quote of the Week

> > Heard recently creative coding experience which rust gives. What about unconscious coding experience - do whatever you can to make your code compile as late as you can, then go sleep and find your code correct and working in the morning
>
> Woah, I know people say the Rust compiler is slow but I never had a Rust program that took all night to compile☺
> So, in this regard and IMO, C++ has a saner model here. And if C++ is saner than you, that's not a good sign ☺

– [Maxim Vorobjov and ZiCog in our Quote of the Week Thread](https://users.rust-lang.org/t/twir-quote-of-the-week/328/749)
– [Boris Kolpackov on rust internals](https://internals.rust-lang.org/t/crate-dependency-discovery/11418/4)

Thanks to [both of them and mmmmib](https://users.rust-lang.org/t/twir-quote-of-the-week/328/752) for the suggestion!
Thanks to [UtherII](https://users.rust-lang.org/t/twir-quote-of-the-week/328/753) for the suggestion!

[Please submit quotes and vote for next week!](https://users.rust-lang.org/t/twir-quote-of-the-week/328)

Expand Down