|
| 1 | +Title: This Week in Rust 338 |
| 2 | +Number: 338 |
| 3 | +Date: 2020-05-12 |
| 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/cmr/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/cmr/this-week-in-rust). |
| 13 | +If you find any errors in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). |
| 14 | + |
| 15 | +# Updates from Rust Community |
| 16 | + |
| 17 | +## News & Blog Posts |
| 18 | + |
| 19 | +# Crate of the Week |
| 20 | + |
| 21 | +This week's crate is [WinRT-rs](https://github.com/microsoft/winrt-rs), Microsoft™'s official WinRT API for Rust. |
| 22 | + |
| 23 | +Thanks to [JLalu](https://users.rust-lang.org/t/crate-of-the-week/2704/767) for the suggestion! |
| 24 | + |
| 25 | +[Submit your suggestions and votes for next week][submit_crate]! |
| 26 | + |
| 27 | +[submit_crate]: https://users.rust-lang.org/t/crate-of-the-week/2704 |
| 28 | + |
| 29 | +# Call for Participation |
| 30 | + |
| 31 | +Always wanted to contribute to open-source projects but didn't know where to start? |
| 32 | +Every week we highlight some tasks from the Rust community for you to pick and get started! |
| 33 | + |
| 34 | +Some of these tasks may also have mentors available, visit the task page for more information. |
| 35 | + |
| 36 | +If you are a Rust project owner and are looking for contributors, please submit tasks [here][guidelines]. |
| 37 | + |
| 38 | +[guidelines]: https://users.rust-lang.org/t/twir-call-for-participation/4821 |
| 39 | + |
| 40 | +# Updates from Rust Core |
| 41 | + |
| 42 | +372 pull requests were [merged in the last week][merged] |
| 43 | + |
| 44 | +[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2020-04-27..2020-05-04 |
| 45 | + |
| 46 | +* implement RFC [#2523](https://rust-lang.github.io/rfcs/2523-cfg-path-version.html), [`#[cfg(version(..))]`](https://github.com/rust-lang/rust/pull/71314) |
| 47 | +* [have the per-query caches store the results on arenas](https://github.com/rust-lang/rust/pull/70674) |
| 48 | +* [avoid duplicating code for each query](https://github.com/rust-lang/rust/pull/69808) |
| 49 | +* [forbid `dyn Trait` in patterns](https://github.com/rust-lang/rust/pull/71038) |
| 50 | +* [fix wrong argument in autoderef process](https://github.com/rust-lang/rust/pull/71627) |
| 51 | +* [suggest `into` instead of `try_into` if possible with int types](https://github.com/rust-lang/rust/pull/71617) |
| 52 | +* [tweak some suggestions in `rustc_resolve`](https://github.com/rust-lang/rust/pull/71438) |
| 53 | +* [add message for resolution failure because wrong namespace](https://github.com/rust-lang/rust/pull/71419) |
| 54 | +* [point at the return type on `.into()` failure caused by `?`](https://github.com/rust-lang/rust/pull/71409) |
| 55 | +* [suggest `;` or assignment to drop borrows in tail exprs](https://github.com/rust-lang/rust/pull/71217) |
| 56 | +* [on type mismatch involving associated type, suggest constraint](https://github.com/rust-lang/rust/pull/71108) |
| 57 | +* [minimize parameter of `coerce_borrowed_pointer`](https://github.com/rust-lang/rust/pull/71524) |
| 58 | +* [remove some `Vec` allocations to improve performance](https://github.com/rust-lang/rust/pull/71268) |
| 59 | +* [allow `Unreachable` terminators unconditionally in const-checking](https://github.com/rust-lang/rust/pull/71691) |
| 60 | +* [allow `Downcast` projections unconditionally in const-checking](https://github.com/rust-lang/rust/pull/71688) |
| 61 | +* [added MIR constant propagation of Scalars into function call arguments](https://github.com/rust-lang/rust/pull/71697) |
| 62 | +* [Miri: unleash all feature gates](https://github.com/rust-lang/rust/pull/71631) |
| 63 | +* [use existing framework for backward dataflow analyses](https://github.com/rust-lang/rust/pull/71006) |
| 64 | +* [add Read/Write::can_read/write_vectored](https://github.com/rust-lang/rust/pull/67841) |
| 65 | +* [add `RefCell::take`](https://github.com/rust-lang/rust/pull/71398) |
| 66 | +* [`slice::fill`: use `T` instead of generic arg](https://github.com/rust-lang/rust/pull/71165) |
| 67 | +* [`Vec` `drop` and `truncate`: drop using raw slice `*mut [T]`](https://github.com/rust-lang/rust/pull/71148) |
| 68 | +* [hashbrown: mark `RawTable::par_iter` `unsafe`](https://github.com/rust-lang/hashbrown/pull/157) |
| 69 | + |
| 70 | +## Approved RFCs |
| 71 | + |
| 72 | +Changes to Rust follow the Rust [RFC (request for comments) process](https://github.com/rust-lang/rfcs#rust-rfcs). These |
| 73 | +are the RFCs that were approved for implementation this week: |
| 74 | + |
| 75 | +* [RFC 2585: FC for unsafe blocks in unsafe fn](https://github.com/rust-lang/rfcs/pull/2585) |
| 76 | + |
| 77 | +## Final Comment Period |
| 78 | + |
| 79 | +Every week [the team](https://www.rust-lang.org/team.html) announces the |
| 80 | +'final comment period' for RFCs and key PRs which are reaching a |
| 81 | +decision. Express your opinions now. |
| 82 | + |
| 83 | + |
| 84 | +### [RFCs](https://github.com/rust-lang/rfcs/labels/final-comment-period) |
| 85 | + |
| 86 | +*No RFCs are in final comment period this week* |
| 87 | + |
| 88 | +### [Tracking Issues & PRs](https://github.com/rust-lang/rust/labels/final-comment-period) |
| 89 | + |
| 90 | +* [disposition: merge] [Tracking issue for RFC 2432, "Allow `if` and `match` in constants"](https://github.com/rust-lang/rust/issues/49146) |
| 91 | +* [disposition: merge] [Tracking issue for std::sync::Once poisoning](https://github.com/rust-lang/rust/issues/33577) |
| 92 | + |
| 93 | +## New RFCs |
| 94 | + |
| 95 | +* [Inline `const` expressions and patterns](https://github.com/rust-lang/rfcs/pull/2920) |
| 96 | +* [Add the `experimental_keywords` ability](https://github.com/rust-lang/rfcs/pull/2919) |
| 97 | +* [sigil-option-notation](https://github.com/rust-lang/rfcs/pull/2918) |
| 98 | + |
| 99 | +# Upcoming Events |
| 100 | + |
| 101 | +### Online |
| 102 | + |
| 103 | +* [May 20. Vancouver, BC, CA - Vancouver Rust - Rust Study/Hack/Hang-out night](https://www.meetup.com/Vancouver-Rust/events/qnrgnrybchbbc/). |
| 104 | + |
| 105 | +### North America |
| 106 | + |
| 107 | +* [May 6. Johannesburg, ZA - Johannesburg meetup](https://www.meetup.com/Johannesburg-Rust-Meetup) |
| 108 | +* [May 6. Portland, OR, US - PDXRust - NES Emulation in Rust](https://www.meetup.com/PDXRust/events/269165311/). |
| 109 | +* [May 6. Indianapolis, IN, US - Indy.rs - Rust Meetup](https://www.meetup.com/indyrs/events/dtqwprybchbjb/). |
| 110 | +* [May 6. Atlanta, GA, US - Rust Atlanta Meetup](https://www.meetup.com/Rust-ATL/) |
| 111 | +* [May 11. Seattle, WA, US - Seattle Rust Meetup](http://www.meetup.com/Seattle-Rust-Meetup/) |
| 112 | +* [May 13. Denver, CO, US Rust Boulder/Denver Monthly Meeting](https://www.meetup.com/Rust-Boulder-Denver/) |
| 113 | +* [May 13. Vancouver, BC, CA - Vancouver Rust Meetup](https://www.meetup.com/Vancouver-Rust/events/) |
| 114 | +* [May 14. Berlin, DE - Berlin Rust Hack and Learn](https://berline.rs/) |
| 115 | +* [May 14. Columbus, OH, US - Columbus Rust Society - Monthly Meeting](https://www.meetup.com/columbus-rs/events/dpkhgrybchbsb/). |
| 116 | +* [May 14. Lehi, UT, US - Utah Rust Monthly Meetup](https://www.meetup.com/utahrust) |
| 117 | +* [May 14. San Diego, CA, US - San Diego Rust](http://meetu.ps/c/2vF0G/4DXV4/a) |
| 118 | +* [May 19. Paris, FR - Rust Paris](https://www.meetup.com/Rust-Paris) |
| 119 | + |
| 120 | +If you are running a Rust event please add it to the [calendar] to get |
| 121 | +it mentioned here. Please remember to add a link to the event too. |
| 122 | +Email the [Rust Community Team][community] for access. |
| 123 | + |
| 124 | +[calendar]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com |
| 125 | +[community]: mailto:[email protected] |
| 126 | + |
| 127 | +# Rust Jobs |
| 128 | + |
| 129 | +*Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) to get your job offers listed here!* |
| 130 | + |
| 131 | +# Quote of the Week |
| 132 | + |
| 133 | +> I love Rust like I love Dark Souls. |
| 134 | +> It's difficult, but fair. I can not praise enough the software developers that realize proper errors are vastly superior to extensive docs. |
| 135 | +
|
| 136 | +– [seph-reed on Hacker News](https://news.ycombinator.com/item?id=23032636) |
| 137 | + |
| 138 | +Thanks to [Armando Pérez Marqués](https://users.rust-lang.org/t/twir-quote-of-the-week/328/864) for the suggestions! |
| 139 | + |
| 140 | +[Please submit quotes and vote for next week!](https://users.rust-lang.org/t/twir-quote-of-the-week/328) |
| 141 | + |
| 142 | +*This Week in Rust is edited by: [nellshamrell](https://github.com/nellshamrell), [llogiq](https://github.com/llogiq), [srikwit](https://github.com/srikwit), and [nasa42](https://github.com/nasa42).* |
| 143 | + |
| 144 | +<small>[Discuss on r/rust]().</small> |
0 commit comments