|
| 1 | +Title: This Week in Rust 359 |
| 2 | +Number: 359 |
| 3 | +Date: 2020-10-07 |
| 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 Simple 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 [fs-err](https://crates.io/crates/fs-err), a library to make filesystem errors usable. |
| 42 | + |
| 43 | +Thanks to [Emerentius](https://users.rust-lang.org/t/crate-of-the-week/2704/821) 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 | +370 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-21..2020-09-28 |
| 65 | + |
| 66 | +* [return values up to 128 bits in registers](https://github.com/rust-lang/rust/pull/76986) |
| 67 | +* [add `asm!` support for MIPS](https://github.com/rust-lang/rust/pull/76839) |
| 68 | +* [diagnostics: improve closure/generic parameter mismatch](https://github.com/rust-lang/rust/pull/76711) |
| 69 | +* [avoiding unnecesary allocations at `rustc_errors`](https://github.com/rust-lang/rust/pull/76846) |
| 70 | +* [add fast path for match checking](https://github.com/rust-lang/rust/pull/76918) |
| 71 | +* [cache types during normalization](https://github.com/rust-lang/rust/pull/76928) |
| 72 | +* [fix the performance regression of #76244](https://github.com/rust-lang/rust/pull/76913) |
| 73 | +* [encode less metadata for proc-macro crates](https://github.com/rust-lang/rust/pull/76897) |
| 74 | +* [invalidate local LLVM cache less often](https://github.com/rust-lang/rust/pull/77126) |
| 75 | +* [introduce a new flag to enable experimental/unsound mir opts](https://github.com/rust-lang/rust/pull/76899) |
| 76 | +* [MIR pass to remove unneeded drops on types not needing drop](https://github.com/rust-lang/rust/pull/76673) |
| 77 | +* [add optimization to avoid load of address](https://github.com/rust-lang/rust/pull/76683) |
| 78 | +* [miri: more informative deallocation error messages](https://github.com/rust-lang/rust/pull/77047) |
| 79 | +* [miri: add API for capturing backtrace](https://github.com/rust-lang/miri/pull/1559) |
| 80 | +* [`DroplessArena`: allocate objects from the end of memory chunk](https://github.com/rust-lang/rust/pull/77014) |
| 81 | +* [unstably allow `assume` intrinsic in const contexts](https://github.com/rust-lang/rust/pull/76973) |
| 82 | +* [add `array::from_ref`](https://github.com/rust-lang/rust/pull/77074) |
| 83 | +* [add `#[track_caller]` to more panicking `Cell` functions](https://github.com/rust-lang/rust/pull/77055) |
| 84 | +* [make some methods of `Pin` unstably const](https://github.com/rust-lang/rust/pull/76655) |
| 85 | +* [revert `const_type_id` stabilization](https://github.com/rust-lang/rust/pull/77083) |
| 86 | +* [revert adding `Atomic::from_mut`](https://github.com/rust-lang/rust/pull/76967) |
| 87 | +* [add `cfg(target_has_atomic_equal_alignment)` and use it for `Atomic::from_mut`](https://github.com/rust-lang/rust/pull/76965) |
| 88 | +* [make `[].as_`[`mut_`]`ptr_range()` (unstably) const](https://github.com/rust-lang/rust/pull/77097) |
| 89 | +* [log: implement `Log` for `Box<Log>`](https://github.com/rust-lang/log/pull/414) |
| 90 | + |
| 91 | +## Rust Compiler Performance Triage |
| 92 | + |
| 93 | +* [2020-09-28](https://github.com/rust-lang/rustc-perf/blob/master/triage/2020-09-28.md): |
| 94 | +0 Regressions, 1 Improvements, 3 Mixed |
| 95 | + |
| 96 | + |
| 97 | +Most significant changes this week came in response to regressions discussed in |
| 98 | +last week's triage report. Curious readers may be interested in |
| 99 | +[#77058](https://github.com/rust-lang/rust/issues/77058), in which the removal |
| 100 | +of a single field from a struct caused a 25% decrease in wall-times for one |
| 101 | +seemingly unrelated benchmark, or |
| 102 | +[#76986](https://github.com/rust-lang/rust/issues/76986), an ABI change that |
| 103 | +should be a pretty clear win but seems to have mixed results. |
| 104 | + |
| 105 | +See the [full report](https://github.com/rust-lang/rustc-perf/blob/master/triage/2020-09-28.md) for more. |
| 106 | + |
| 107 | +## Approved RFCs |
| 108 | + |
| 109 | +Changes to Rust follow the Rust [RFC (request for comments) process](https://github.com/rust-lang/rfcs#rust-rfcs). These |
| 110 | +are the RFCs that were approved for implementation this week: |
| 111 | + |
| 112 | +*No RFCs were approved this week.* |
| 113 | + |
| 114 | +## Final Comment Period |
| 115 | + |
| 116 | +Every week [the team](https://www.rust-lang.org/team.html) announces the |
| 117 | +'final comment period' for RFCs and key PRs which are reaching a |
| 118 | +decision. Express your opinions now. |
| 119 | + |
| 120 | +### [RFCs](https://github.com/rust-lang/rfcs/labels/final-comment-period) |
| 121 | +* [Destructuring assignment](https://github.com/rust-lang/rfcs/pull/2909) |
| 122 | +* [RFC: impl-only glob imports](https://github.com/rust-lang/rfcs/pull/2782) |
| 123 | +* [Fetching cargo registry tokens from external processes](https://github.com/rust-lang/rfcs/pull/2730) |
| 124 | +* [RFC: Permit _ in type aliases](https://github.com/rust-lang/rfcs/pull/2524) |
| 125 | + |
| 126 | +### [Tracking Issues & PRs](https://github.com/rust-lang/rust/labels/final-comment-period) |
| 127 | + |
| 128 | +* [disposition: merge] [Stabilize slice_ptr_range.](https://github.com/rust-lang/rust/pull/77111) |
| 129 | +* [disposition: merge] [Make RawFd implement the RawFd traits](https://github.com/rust-lang/rust/pull/76969) |
| 130 | +* [disposition: merge] [Fix Debug implementations of some of the HashMap and BTreeMap iterator types](https://github.com/rust-lang/rust/pull/75377) |
| 131 | +* [disposition: merge] [Tracking issue for slice_partition_at_index](https://github.com/rust-lang/rust/issues/55300) |
| 132 | + |
| 133 | +## New RFCs |
| 134 | + |
| 135 | +* [[RFC] A new stack-based vector](https://github.com/rust-lang/rfcs/pull/2990) |
| 136 | +* [RFC: Add `target` configuration](https://github.com/rust-lang/rfcs/pull/2991) |
| 137 | +* [RFC: Add `target_abi` configuration](https://github.com/rust-lang/rfcs/pull/2992) |
| 138 | +* [adds async stream rfc](https://github.com/rust-lang/rfcs/pull/2996) |
| 139 | + |
| 140 | +# Upcoming Events |
| 141 | + |
| 142 | +### Online |
| 143 | +* [October 1. Berlin, DE - Berline.rs - Rust Hack and Learn](https://www.meetup.com/opentechschool-berlin/events/txcprrybcnbcb/) |
| 144 | +* [October 7. Johannesburg, ZA - Johannesburg Rust Meetup - Monthly Joburg Rust Chat!](https://www.meetup.com/Johannesburg-Rust-Meetup/events/273455489/) |
| 145 | +* [October 7. Dublin, IE - Rust Dublin - October Remote Meetup](https://www.meetup.com/Rust-Dublin/events/273014329/) |
| 146 | +* [October 7. Indianapolis, IN, US - Indy.rs - Indy.rs - with Social Distancing](https://www.meetup.com/indyrs/events/jhfstrybcnbkb/) |
| 147 | +* [October 8. Linz, AT - Rust Linz - Rust Meetup Linz](https://www.meetup.com/de-DE/Rust-Linz/events/271857253/) |
| 148 | +* [October 8. San Diego, CA, US - San Diego Rust - San Diego Rust October 2020 Tele-Meetup](https://www.meetup.com/San-Diego-Rust/events/273486967/) |
| 149 | +* [October 13. Saabrücken, DE - Rust-Saar Meetup - `4u16`](https://www.meetup.com/Rust-Saar/events/273252813/) |
| 150 | +* [October 12 - 18. RustLab](https://www.rustlab.it/agenda) |
| 151 | + |
| 152 | +### Asia Pacific |
| 153 | +* [October 4. Auckland, NZ - Rust AKL - Rust meetup](https://www.meetup.com/rust-akl/events/266876708/) |
| 154 | + |
| 155 | +### North America |
| 156 | +* [October 8. Lehi, UT - Utah Rust - The Blue Pill: Rust on Microcontrollers](https://www.meetup.com/utah-rust/events/268567961/) |
| 157 | + |
| 158 | +If you are running a Rust event please add it to the [calendar] to get |
| 159 | +it mentioned here. Please remember to add a link to the event too. |
| 160 | +Email the [Rust Community Team][community] for access. |
| 161 | + |
| 162 | +[calendar]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com |
| 163 | +[community]: mailto:[email protected] |
| 164 | + |
| 165 | +# Rust Jobs |
| 166 | + |
| 167 | +*Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) to get your job offers listed here!* |
| 168 | + |
| 169 | +# Quote of the Week |
| 170 | + |
| 171 | +> Rust has a curse (it has many, but this one is critical): inefficient code is generally visible. Experienced developers hate to notice that their code is inefficient. They will recoil at seeing `Arc<RefCell<T>>` , but won't bat an eye at using Python. |
| 172 | +
|
| 173 | +- [Esteban Kuber on rust-users](https://users.rust-lang.org/t/failed-to-contribute-due-to-difficulty-in-understanding-rust/49148/6) |
| 174 | + |
| 175 | +Thanks to [Jon G Stødle](https://users.rust-lang.org/t/twir-quote-of-the-week/328/945) for the suggestion! |
| 176 | + |
| 177 | +[Please submit quotes and vote for next week!](https://users.rust-lang.org/t/twir-quote-of-the-week/328) |
| 178 | + |
| 179 | +*This Week in Rust is edited by: [nellshamrell](https://github.com/nellshamrell), [llogiq](https://github.com/llogiq), and [cdmistman](https://github.com/cdmistman).* |
| 180 | + |
| 181 | +<small>[Discuss on r/rust](https://www.reddit.com/r/rust/comments/iu3ge0/this_week_in_rust_356/)</small> |
0 commit comments