|
| 1 | +Title: This Week in Rust 358 |
| 2 | +Number: 358 |
| 3 | +Date: 2020-09-30 |
| 4 | +Category: This Week in Rust |
| 5 | + |
| 6 | +Hello and welcome to another issue of *This Week in Rust*! |
| 7 | +[Rust](http://rust-lang.org) is a systems language pursuing the trifecta: safety, concurrency, and speed. |
| 8 | +This is a weekly summary of its progress and community. |
| 9 | +Want something mentioned? Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) or [send us a pull request](https://github.com/emberian/this-week-in-rust). |
| 10 | +Want to get involved? [We love contributions](https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md). |
| 11 | + |
| 12 | +*This Week in Rust* is openly developed [on GitHub](https://github.com/emberian/this-week-in-rust). |
| 13 | +If you find any errors in this week's issue, [please submit a PR](https://github.com/emberian/this-week-in-rust/pulls). |
| 14 | + |
| 15 | +# Updates from Rust Community |
| 16 | + |
| 17 | +No newsletters this week. |
| 18 | + |
| 19 | +### Official |
| 20 | + |
| 21 | +### Tooling |
| 22 | + |
| 23 | +### Observations/Thoughts |
| 24 | + |
| 25 | +### Learn Standard Rust |
| 26 | + |
| 27 | +### Learn More Rust |
| 28 | + |
| 29 | +### Project Updates |
| 30 | + |
| 31 | +### Miscellaneous |
| 32 | + |
| 33 | +# Call for Blog Posts |
| 34 | + |
| 35 | +The Rust Core Team wants input from the community! |
| 36 | +If you haven't already, [read the official blog](https://blog.rust-lang.org/2020/09/03/Planning-2021-Roadmap.html) and submit a blog post - it will show up here! |
| 37 | +Here are the wonderful submissions since the call for blog posts: |
| 38 | + |
| 39 | +# Crate of the Week |
| 40 | + |
| 41 | +This week's crate is [cargo-about](https://crates.io/crates/cargo-about), a handy cargo subcommand to list the dependencies and their licenses! |
| 42 | + |
| 43 | +Thanks to [Jimuazu](https://users.rust-lang.org/t/crate-of-the-week/2704/820) for the suggestion! |
| 44 | + |
| 45 | +[Submit your suggestions and votes for next week][submit_crate]! |
| 46 | + |
| 47 | +[submit_crate]: https://users.rust-lang.org/t/crate-of-the-week/2704 |
| 48 | + |
| 49 | +# Call for Participation |
| 50 | + |
| 51 | +Always wanted to contribute to open-source projects but didn't know where to start? |
| 52 | +Every week we highlight some tasks from the Rust community for you to pick and get started! |
| 53 | + |
| 54 | +Some of these tasks may also have mentors available, visit the task page for more information. |
| 55 | + |
| 56 | +If you are a Rust project owner and are looking for contributors, please submit tasks [here][guidelines]. |
| 57 | + |
| 58 | +[guidelines]: https://users.rust-lang.org/t/twir-call-for-participation/4821 |
| 59 | + |
| 60 | +# Updates from Rust Core |
| 61 | + |
| 62 | +373 pull requests were [merged in the last week][merged] |
| 63 | + |
| 64 | +[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2020-09-14..2020-09-21 |
| 65 | + |
| 66 | +* [let user see the full type of type-length limit error](https://github.com/rust-lang/rust/pull/76843) |
| 67 | +* [don't allow implementing trait directly on `type-alias-impl-trait`](https://github.com/rust-lang/rust/pull/76940) |
| 68 | +* [give *even better* suggestion when matching a const range](https://github.com/rust-lang/rust/pull/76749) |
| 69 | +* [introduce a `PartitioningCx` struct](https://github.com/rust-lang/rust/pull/76694) |
| 70 | +* [initial support for `riscv32gc_unknown_linux_gnu`](https://github.com/rust-lang/rust/pull/76048) |
| 71 | +* [note when a a move/borrow error is caused by a deref coercion](https://github.com/rust-lang/rust/pull/75304) |
| 72 | +* [new MIR optimization pass to reduce branches on match of tuples of enums](https://github.com/rust-lang/rust/pull/75119) |
| 73 | +* [improve diagnostics for lifetime after `&mut`](https://github.com/rust-lang/rust/pull/73595) |
| 74 | +* [implement a generic Destination Propagation optimization on MIR](https://github.com/rust-lang/rust/pull/72632) |
| 75 | +* [miri: support non-rlib extern files](https://github.com/rust-lang/miri/pull/1557) |
| 76 | +* [add `as_str()` to `string::Drain`](https://github.com/rust-lang/rust/pull/76525) |
| 77 | +* [make all methods of `Duration` unstably const](https://github.com/rust-lang/rust/pull/76335) |
| 78 | +* [add `[T; N]: TryFrom<Vec<T>>`](https://github.com/rust-lang/rust/pull/76310) |
| 79 | +* [stabilize some `Result` methods as const](https://github.com/rust-lang/rust/pull/76136) |
| 80 | +* [stabilize some `Option` methods as const](https://github.com/rust-lang/rust/pull/76135) |
| 81 | +* [avoid useless `sift_down` when `std::collections::binary_heap::PeekMut` is never mutably dereferenced](https://github.com/rust-lang/rust/pull/75974) |
| 82 | +* [futures: implement `try_take_while`](https://github.com/rust-lang/futures-rs/pull/2212) |
| 83 | +* [clippy: change the criteria of `interior_mutable_const`](https://github.com/rust-lang/rust-clippy/pull/6046) |
| 84 | + |
| 85 | +## Rust Compiler Performance Triage |
| 86 | + |
| 87 | +* [2020-09-21](https://github.com/rust-lang/rustc-perf/blob/master/triage/2020-09-21.md): |
| 88 | + 2 Regressions, 5 Improvements, 4 Mixed |
| 89 | + |
| 90 | +This was the first week of semi-automated perf triage, and thank goodness: |
| 91 | +There was a lot going on. Most regressions are either quite small or already |
| 92 | +have a fix published. |
| 93 | + |
| 94 | +[#72412](https://github.com/rust-lang/rust/issues/72412) is probably the most |
| 95 | +interesting case. It fixes a pathological problem involving nested closures by |
| 96 | +adding cycle detection to what seems to be a relatively hot part of the code. |
| 97 | +As a result, most users will see a slight [compile-time |
| 98 | +regression](https://perf.rust-lang.org/compare.html?start=2c69266c0697b0c0b34abea62cba1a1d3c59c90c&end=fdc3405c20122fd0f077f5a77addabc873f20e4c&stat=task-clock) |
| 99 | +for their crates. |
| 100 | + |
| 101 | +See the [full report](https://github.com/rust-lang/rustc-perf/blob/master/triage/2020-09-21.md) for more. |
| 102 | + |
| 103 | +## Approved RFCs |
| 104 | + |
| 105 | +Changes to Rust follow the Rust [RFC (request for comments) process](https://github.com/rust-lang/rfcs#rust-rfcs). These |
| 106 | +are the RFCs that were approved for implementation this week: |
| 107 | + |
| 108 | +* [[RFC]: Portable SIMD Libs Project Group](https://github.com/rust-lang/rfcs/pull/2977) |
| 109 | +* [Establish a new error handling project group](https://github.com/rust-lang/rfcs/pull/2965) |
| 110 | + |
| 111 | +## Final Comment Period |
| 112 | + |
| 113 | +Every week [the team](https://www.rust-lang.org/team.html) announces the |
| 114 | +'final comment period' for RFCs and key PRs which are reaching a |
| 115 | +decision. Express your opinions now. |
| 116 | + |
| 117 | +### [RFCs](https://github.com/rust-lang/rfcs/labels/final-comment-period) |
| 118 | +* [Get type of an arbitrary expression](https://github.com/rust-lang/rfcs/pull/2706) |
| 119 | +* [Add generalized arity tuples](https://github.com/rust-lang/rfcs/pull/2702) |
| 120 | + |
| 121 | +### [Tracking Issues & PRs](https://github.com/rust-lang/rust/labels/final-comment-period) |
| 122 | + |
| 123 | +* [disposition: merge][Make RawFd implement the RawFd traits](https://github.com/rust-lang/rust/pull/76969) |
| 124 | +* [disposition: merge][Permit uninhabited enums to cast into ints](https://github.com/rust-lang/rust/pull/76199) |
| 125 | +* [disposition: merge][Stabilize move_ref_pattern](https://github.com/rust-lang/rust/pull/76119) |
| 126 | +* [disposition: merge][Write manifest for MAJOR.MINOR channel to enable rustup convenience](https://github.com/rust-lang/rust/pull/76107) |
| 127 | +* [disposition: merge][Explicitly document the size guarantees that Option makes.](https://github.com/rust-lang/rust/pull/75454) |
| 128 | +* [disposition: merge][Stabilize intra-doc links](https://github.com/rust-lang/rust/pull/74430) |
| 129 | +* [disposition: merge][Add PartialEq impls for Vec <-> slice](https://github.com/rust-lang/rust/pull/74194) |
| 130 | +* [disposition: merge][target-feature 1.1: should closures inherit target-feature annotations?](https://github.com/rust-lang/rust/issues/73631) |
| 131 | +* [disposition: merge][might_permit_raw_init: also check aggregate fields](https://github.com/rust-lang/rust/pull/71274) |
| 132 | + |
| 133 | +## New RFCs |
| 134 | + |
| 135 | +* [RFC 2582: fix implicit auto-deref of raw pointers](https://github.com/rust-lang/rfcs/pull/2987) |
| 136 | +* [Stable Rustdoc URLs](https://github.com/rust-lang/rfcs/pull/2988) |
| 137 | + |
| 138 | +# Upcoming Events |
| 139 | + |
| 140 | +### Online |
| 141 | +* [September 29. Dallas, TX, US - Dallas Rust - Last Tuesday](https://www.meetup.com/Dallas-Rust/events/jqxqwrybcmbmc/) |
| 142 | +* [October 1. Berlin, DE - Berline.rs - Rust Hack and Learn](https://www.meetup.com/opentechschool-berlin/events/txcprrybcnbcb/) |
| 143 | + |
| 144 | +### Asia Pacific |
| 145 | +* [October 5. Auckland, NZ - Rust AKL - Rust meetup](https://www.meetup.com/rust-akl/events/266876708/) |
| 146 | + |
| 147 | +If you are running a Rust event please add it to the [calendar] to get |
| 148 | +it mentioned here. Please remember to add a link to the event too. |
| 149 | +Email the [Rust Community Team][community] for access. |
| 150 | + |
| 151 | +[calendar]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com |
| 152 | +[community]: mailto:[email protected] |
| 153 | + |
| 154 | +# Rust Jobs |
| 155 | + |
| 156 | +*Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) to get your job offers listed here!* |
| 157 | + |
| 158 | +# Quote of the Week |
| 159 | + |
| 160 | +> Sometimes you don't *want* the code to compile. The compiler's job is often to tell you that your code doesn't compile, rather than trying to find some meaning that allows compiling your code. |
| 161 | +
|
| 162 | +- [Josh Triplett on rust-internals](https://internals.rust-lang.org/t/pre-rfc-returning-automatically-generating-impl-trait/13090/11) |
| 163 | + |
| 164 | +Thanks to [Jacob Pratt](https://users.rust-lang.org/t/twir-quote-of-the-week/328/943) for the suggestion! |
| 165 | + |
| 166 | +[Please submit quotes and vote for next week!](https://users.rust-lang.org/t/twir-quote-of-the-week/328) |
| 167 | + |
| 168 | +*This Week in Rust is edited by: [nellshamrell](https://github.com/nellshamrell), [llogiq](https://github.com/llogiq), and [cdmistman](https://github.com/cdmistman).* |
| 169 | + |
| 170 | +<small>[Discuss on r/rust](https://www.reddit.com/r/rust/comments/iu3ge0/this_week_in_rust_356/)</small> |
0 commit comments