|
| 1 | +Title: This Week in Rust 349 |
| 2 | +Number: 349 |
| 3 | +Date: 2020-07-28 |
| 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 | +Check out [this week's *This Week in Rust Podcast*](https://rustacean-station.org/episode/023-twir-348/) |
| 16 | + |
| 17 | +# Updates from Rust Community |
| 18 | + |
| 19 | +## News & Blog Posts |
| 20 | + |
| 21 | +# Crate of the Week |
| 22 | + |
| 23 | +This week's crate is [pre](https://github.com/aticu/pre), a library for declaring and checking the assurance of precondition, useful for unsafe functions. |
| 24 | + |
| 25 | +Thanks to [Zicklag](https://users.rust-lang.org/t/crate-of-the-week/2704/792) for the suggestion! |
| 26 | + |
| 27 | +[Submit your suggestions and votes for next week][submit_crate]! |
| 28 | + |
| 29 | +[submit_crate]: https://users.rust-lang.org/t/crate-of-the-week/2704 |
| 30 | + |
| 31 | +# Call for Participation |
| 32 | + |
| 33 | +Always wanted to contribute to open-source projects but didn't know where to start? |
| 34 | +Every week we highlight some tasks from the Rust community for you to pick and get started! |
| 35 | + |
| 36 | +Some of these tasks may also have mentors available, visit the task page for more information. |
| 37 | + |
| 38 | + |
| 39 | +If you are a Rust project owner and are looking for contributors, please submit tasks [here][guidelines]. |
| 40 | + |
| 41 | +[guidelines]: https://users.rust-lang.org/t/twir-call-for-participation/4821 |
| 42 | + |
| 43 | +# Updates from Rust Core |
| 44 | + |
| 45 | +394 pull requests were [merged in the last week][merged] |
| 46 | + |
| 47 | +[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2020-07-13..2020-07-20 |
| 48 | + |
| 49 | +* [do not try fetching the ancestors of errored trait impls](https://github.com/rust-lang/rust/pull/74516) |
| 50 | +* [only skip impls of foreign unstable traits](https://github.com/rust-lang/rust/pull/74534) |
| 51 | +* [don't assign `()` to `!` MIR locals](https://github.com/rust-lang/rust/pull/74411) |
| 52 | +* [some `Symbol` related improvements](https://github.com/rust-lang/rust/pull/74357) |
| 53 | +* [use `ArrayVec` in `SparseBitSet`](https://github.com/rust-lang/rust/pull/74310) |
| 54 | +* [change `SymbolName::name` to a `&str`](https://github.com/rust-lang/rust/pull/74214) |
| 55 | +* [enforce the static symbol order](https://github.com/rust-lang/rust/pull/74203) |
| 56 | +* [reduce the amount of interning and `layout_of` calls in const eval](https://github.com/rust-lang/rust/pull/74202) |
| 57 | +* [add `Arguments::as_str()`](https://github.com/rust-lang/rust/pull/74056) |
| 58 | +* [`impl Index<RangeFrom> for CStr`](https://github.com/rust-lang/rust/pull/74021) |
| 59 | +* [add (unchecked) indexing methods to raw (and NonNull) slices](https://github.com/rust-lang/rust/pull/73986) |
| 60 | +* [make some `Option` methods const](https://github.com/rust-lang/rust/pull/73930) |
| 61 | +* [use `step_unchecked` more liberally in range iter impls](https://github.com/rust-lang/rust/pull/73490) |
| 62 | +* [add `core::task::ready!` macro](https://github.com/rust-lang/rust/pull/70817) |
| 63 | +* [backtrace: use noop backends on Miri](https://github.com/rust-lang/backtrace-rs/pull/360) |
| 64 | +* [stdarch: update and revamp wasm32 SIMD intrinsics](https://github.com/rust-lang/stdarch/pull/874) |
| 65 | +* [stdarch: implement AVX512f floating point comparisons](https://github.com/rust-lang/stdarch/pull/869) |
| 66 | +* [stdarch: constify all x86 `rustc_args_required_const` intrinsics](https://github.com/rust-lang/stdarch/pull/876) |
| 67 | +* [make `unreachable_unchecked` a const fn](https://github.com/rust-lang/rust/pull/74459) |
| 68 | +* [cargo: fix freshness checks for build scripts on renamed dirs](https://github.com/rust-lang/cargo/pull/8497) |
| 69 | +* [crates.io: generate API tokens with a secure RNG, store hashed](https://github.com/rust-lang/crates.io/pull/2637) |
| 70 | +* [add Ayu theme to rustdoc](https://github.com/rust-lang/rust/pull/71237) |
| 71 | +* [clippy: `unnecessary_sort_by`: avoid linting if key borrows](https://github.com/rust-lang/rust-clippy/pull/5756) |
| 72 | + |
| 73 | +## Rust Compiler Performance Triage |
| 74 | + |
| 75 | +* [2020-07-21](https://github.com/rust-lang/rustc-perf/blob/master/triage/2020-07-21.md). |
| 76 | + A disastrous week. At least 7 regressions. 3 improvements. Lots of murkiness due to rollups. |
| 77 | + |
| 78 | +## Approved RFCs |
| 79 | + |
| 80 | +Changes to Rust follow the Rust [RFC (request for comments) process](https://github.com/rust-lang/rfcs#rust-rfcs). These |
| 81 | +are the RFCs that were approved for implementation this week: |
| 82 | + |
| 83 | +*No RFCs were approved this week.* |
| 84 | + |
| 85 | +## Final Comment Period |
| 86 | + |
| 87 | +Every week [the team](https://www.rust-lang.org/team.html) announces the |
| 88 | +'final comment period' for RFCs and key PRs which are reaching a |
| 89 | +decision. Express your opinions now. |
| 90 | + |
| 91 | +### [RFCs](https://github.com/rust-lang/rfcs/labels/final-comment-period) |
| 92 | + |
| 93 | +* [RFC: 'C unwind' ABI](https://github.com/rust-lang/rfcs/pull/2945) |
| 94 | + |
| 95 | +### [Tracking Issues & PRs](https://github.com/rust-lang/rust/labels/final-comment-period) |
| 96 | + |
| 97 | +* [disposition: merge] [Stabilize core::future::{pending,ready}](https://github.com/rust-lang/rust/pull/74328) |
| 98 | +* [disposition: merge] [Make more primitive integer methods const](https://github.com/rust-lang/rust/pull/73858) |
| 99 | +* [disposition: merge] [Derive common traits for panic::Location](https://github.com/rust-lang/rust/pull/73583) |
| 100 | + |
| 101 | +## New RFCs |
| 102 | + |
| 103 | +* [Add `oneof` configuration predicate to support exclusive features](https://github.com/rust-lang/rfcs/pull/2962) |
| 104 | +* [RFC: Promote aarch64-unknown-linux-gnu to a Tier-1 Rust target](https://github.com/rust-lang/rfcs/pull/2959) |
| 105 | +* [Add Drop::poll_drop_ready for asynchronous destructors](https://github.com/rust-lang/rfcs/pull/2958) |
| 106 | +* [Stabilize Cargo's new feature resolver](https://github.com/rust-lang/rfcs/pull/2957) |
| 107 | +* [Add the partial-closure-args RFC](https://github.com/rust-lang/rfcs/pull/2956) |
| 108 | + |
| 109 | +# Upcoming Events |
| 110 | + |
| 111 | +### Online |
| 112 | +* [July 23. Berlin, DE - Rust Hack and Learn](https://www.meetup.com/opentechschool-berlin/events/txcprrybckbfc/) |
| 113 | +* [July 27 - August 2. Rusty Days Virtual Rust Conference](https://rusty-days.org/) |
| 114 | + |
| 115 | +### North America |
| 116 | +* [July 27. Durham, NC, US - Triangle Rustaceans - Project Night & Lightning Talks](https://www.meetup.com/triangle-rustaceans/events/mfglwpybckbkc/) |
| 117 | +* [July 28. Dallas, TX, US - Dallas Rust - Last Tuesday](https://www.meetup.com/Dallas-Rust/events/nppvrrybckblc/) |
| 118 | + |
| 119 | +### Asia Pacific |
| 120 | +* [August 3. Auckland, NZ - Rust ALK - Rust Meetup](https://www.meetup.com/rust-akl/events/266876693/) |
| 121 | + |
| 122 | +If you are running a Rust event please add it to the [calendar] to get |
| 123 | +it mentioned here. Please remember to add a link to the event too. |
| 124 | +Email the [Rust Community Team][community] for access. |
| 125 | + |
| 126 | +[calendar]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com |
| 127 | +[community]: mailto:[email protected] |
| 128 | + |
| 129 | +# Rust Jobs |
| 130 | + |
| 131 | +*Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) to get your job offers listed here!* |
| 132 | + |
| 133 | +# Quote of the Week |
| 134 | + |
| 135 | +> `unsafe` Rust is all about flirting with UB but never giving in. |
| 136 | +
|
| 137 | +– [Ralf Jung on Zulip](https://rust-lang.zulipchat.com/#narrow/stream/136281-t-lang.2Fwg-unsafe-code-guidelines/topic/Language.20UB.20vs.20library.20UB/near/204212193) |
| 138 | + |
| 139 | +Thanks to [HeroicKatora](https://users.rust-lang.org/t/twir-quote-of-the-week/328/913) for the suggestions! |
| 140 | + |
| 141 | +[Please submit quotes and vote for next week!](https://users.rust-lang.org/t/twir-quote-of-the-week/328) |
| 142 | + |
| 143 | +*This Week in Rust is edited by: [nellshamrell](https://github.com/nellshamrell), [llogiq](https://github.com/llogiq), and [cdmistman](https://github.com/cdmistman).* |
| 144 | + |
| 145 | +<small>[Discuss on r/rust](https://www.reddit.com/r/rust/comments/hvjf4i/this_week_in_rust_348/)small> |
0 commit comments