|
| 1 | +Title: This Week in Rust 313 |
| 2 | +Number: 313 |
| 3 | +Date: 2019-11-26 |
| 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 | +### #Rust2020 |
| 20 | + |
| 21 | +Find all #Rust2020 posts at [Read Rust](https://readrust.net/rust-2020/). |
| 22 | + |
| 23 | +# Crate of the Week |
| 24 | + |
| 25 | +This week's crate is [wasmtime](https://github.com/bytecodealliance/wasmtime), a standalone JIT-style runtime for WebAssembly. |
| 26 | + |
| 27 | +Thanks to [Josh Triplett](https://users.rust-lang.org/t/crate-of-the-week/2704/671) for the suggestions! |
| 28 | + |
| 29 | +[Submit your suggestions and votes for next week][submit_crate]! |
| 30 | + |
| 31 | +[submit_crate]: https://users.rust-lang.org/t/crate-of-the-week/2704 |
| 32 | + |
| 33 | +# Call for Participation |
| 34 | + |
| 35 | +Always wanted to contribute to open-source projects but didn't know where to start? |
| 36 | +Every week we highlight some tasks from the Rust community for you to pick and get started! |
| 37 | + |
| 38 | +Some of these tasks may also have mentors available, visit the task page for more information. |
| 39 | + |
| 40 | +* [Governance WG call for participation](https://blog.rust-lang.org/inside-rust/2019/11/13/goverance-wg-cfp.html). |
| 41 | +* [good first issue] [async-std: Add Future::timeout](https://github.com/async-rs/async-std/issues/564). |
| 42 | +* [crates.io: carols10cents will be mentoring multiple issues for the month of November & December](https://github.com/rust-lang/crates.io/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3AE-mentor). |
| 43 | + |
| 44 | +If you are a Rust project owner and are looking for contributors, please submit tasks [here][guidelines]. |
| 45 | + |
| 46 | +[guidelines]: https://users.rust-lang.org/t/twir-call-for-participation/4821 |
| 47 | + |
| 48 | +# Updates from Rust Core |
| 49 | + |
| 50 | +252 pull requests were [merged in the last week][merged] |
| 51 | + |
| 52 | +[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2019-11-11..2019-11-18 |
| 53 | + |
| 54 | +* [add a callback that allows compiler consumers to override queries](https://github.com/rust-lang/rust/pull/66297) |
| 55 | +* [update LLVM submodule](https://github.com/rust-lang/rust/pull/66318) |
| 56 | +* [expand source_util macros with def-site context](https://github.com/rust-lang/rust/pull/66349) |
| 57 | +* [improve errors after re rebalance coherence](https://github.com/rust-lang/rust/pull/66253) |
| 58 | +* [move `Session` fields to `CrateStore`](https://github.com/rust-lang/rust/pull/66334) |
| 59 | +* [improve non-exhaustiveness handling in usefulness checking](https://github.com/rust-lang/rust/pull/66330) |
| 60 | +* [refactor integer range handling in the usefulness algorithm](https://github.com/rust-lang/rust/pull/66326) |
| 61 | +* [remove some stack frames from `.async` calls](https://github.com/rust-lang/rust/pull/66398) |
| 62 | +* [avoid hashing the key twice in `get_query()`](https://github.com/rust-lang/rust/pull/66013) |
| 63 | +* [don't warn labels beginning with `_` on unused_labels lint](https://github.com/rust-lang/rust/pull/66419) |
| 64 | +* [only include "already existing ..." comment in gitignore on conflict](https://github.com/rust-lang/cargo/pull/7570) |
| 65 | +* [suggest borrowing when it would satisfy an unmet trait bound](https://github.com/rust-lang/rust/pull/65456) |
| 66 | +* [fully integrate derive helpers into name resolution](https://github.com/rust-lang/rust/pull/64694) |
| 67 | +* [push `ast::{ItemKind, ImplItemKind}::OpaqueTy` hack down into lowering](https://github.com/rust-lang/rust/pull/66197) |
| 68 | +* [add a HIR pass to check consts for `if`, `loop`, etc.](https://github.com/rust-lang/rust/pull/66170) |
| 69 | +* [fix MIR lowering evaluation order and soundness bug](https://github.com/rust-lang/rust/pull/65608) |
| 70 | +* [split `ConstValue` into two enums](https://github.com/rust-lang/rust/pull/66233) |
| 71 | +* [fix two OOM issues related to `ConstProp`](https://github.com/rust-lang/rust/pull/66394) |
| 72 | +* [make dataflow-based const qualification the canonical one](https://github.com/rust-lang/rust/pull/66385) |
| 73 | +* [miri: use new isize_max method in FS accesses](https://github.com/rust-lang/miri/pull/1056) |
| 74 | +* [miri panic_unwind: fix hack for SEH platforms](https://github.com/rust-lang/rust/pull/66466) |
| 75 | +* [make chalk-rust-ir generic over type-family](https://github.com/rust-lang/chalk/pull/284) |
| 76 | +* [chalk: refactor fold](https://github.com/rust-lang/chalk/pull/283) |
| 77 | +* [chalk: implement `zip_binders` and add some `dyn Trait`/`impl Trait` tests](https://github.com/rust-lang/chalk/pull/282) |
| 78 | +* [add `Result::map_or`](https://github.com/rust-lang/rust/pull/66292) |
| 79 | +* [fix `HashSet::union` performance](https://github.com/rust-lang/rust/pull/66280) |
| 80 | +* [add raw ptr variant of `UnsafeCell::get`](https://github.com/rust-lang/rust/pull/66248) |
| 81 | +* [proposal for `BTree`{`Map`, `Set`}`::`{`min`, `max`}](https://github.com/rust-lang/rust/pull/65637) |
| 82 | +* [make the semantics of `Vec::truncate(_)` consistent with slices](https://github.com/rust-lang/rust/pull/64432) |
| 83 | +* [libc: add support for making functions `const`](https://github.com/rust-lang/libc/pull/1536) |
| 84 | +* [cargo: Don't panic when parsing `/proc/stat`](https://github.com/rust-lang/cargo/pull/7580) |
| 85 | +* [stabilize rustdoc theme options](https://github.com/rust-lang/rust/pull/54733) |
| 86 | +* [rustup build: make clippy faster by using checking before that operation](https://github.com/rust-lang/rustup/pull/2122) |
| 87 | +* [rustup: retry downloads](https://github.com/rust-lang/rustup/pull/2121) |
| 88 | +* [rustup: fix/improve human-readable units](https://github.com/rust-lang/rustup/pull/2043) |
| 89 | +* [measureme: only use 48 bits for encoding timestamps and 32 bits for encoding thread IDs in `RawEvent` in order to make it smaller](https://github.com/rust-lang/measureme/pull/86) |
| 90 | + |
| 91 | +## Approved RFCs |
| 92 | + |
| 93 | +Changes to Rust follow the Rust [RFC (request for comments) |
| 94 | +process](https://github.com/rust-lang/rfcs#rust-rfcs). These |
| 95 | +are the RFCs that were approved for implementation this week: |
| 96 | + |
| 97 | +*No RFCs were approved this week.* |
| 98 | + |
| 99 | +## Final Comment Period |
| 100 | + |
| 101 | +Every week [the team](https://www.rust-lang.org/team.html) announces the |
| 102 | +'final comment period' for RFCs and key PRs which are reaching a |
| 103 | +decision. Express your opinions now. |
| 104 | + |
| 105 | +### [RFCs](https://github.com/rust-lang/rfcs/labels/final-comment-period) |
| 106 | + |
| 107 | +*No RFCs are currently in final comment period.* |
| 108 | + |
| 109 | +### [Tracking Issues & PRs](https://github.com/rust-lang/rust/labels/final-comment-period) |
| 110 | + |
| 111 | +* [disposition: merge] [Stabilize Result::map_or_else](https://github.com/rust-lang/rust/pull/66322). |
| 112 | +* [disposition: merge] [Scope format! temporaries](https://github.com/rust-lang/rust/pull/64856). |
| 113 | +* [disposition: merge] [Stabilize cfg(doc)](https://github.com/rust-lang/rust/pull/61351). |
| 114 | + |
| 115 | +## New RFCs |
| 116 | + |
| 117 | +* [A macro to get the current function name](https://github.com/rust-lang/rfcs/pull/2818). |
| 118 | + |
| 119 | +# Upcoming Events |
| 120 | + |
| 121 | +### Online |
| 122 | + |
| 123 | +* [Dec 1. "Advent of Code" livestream in German](https://github.com/scy/advent-of-code). |
| 124 | + |
| 125 | +### Africa |
| 126 | + |
| 127 | +* [Dec 4. Johannesburg, ZA - Johannesburg Rust Meetup - Time for Some Highbrow FP in Rust](https://www.meetup.com/Johannesburg-Rust-Meetup/events/cpdtkryzqbgb/). |
| 128 | + |
| 129 | +### Asia Pacific |
| 130 | + |
| 131 | +* [Dec 2. Auckland, NZ - Rust AKL - Introduction to Rust (part 3)](https://www.meetup.com/rust-akl/events/259481456/). |
| 132 | + |
| 133 | +### Europe |
| 134 | + |
| 135 | +* [Nov 21. Turin, IT - Mozilla Torino - Gruppo di studio Rust](https://www.meetup.com/Mozilla-Torino/events/265961100). |
| 136 | +* [Nov 26. Vienna, AT - Rust Vienna - El rust de vienna](https://www.meetup.com/Rust-Vienna/events/266365092/). |
| 137 | +* [Nov 27. Berlin, DE - OpenTechSchool Berlin - Rust Hack and Learn](https://www.meetup.com/opentechschool-berlin/events/nxdpgryzpbkc/). |
| 138 | +* [Nov 27. Copenhagen, DK - Copenhagen Rust Hack Night #20](https://cph.rs/). |
| 139 | + |
| 140 | +### North America |
| 141 | + |
| 142 | +* [Nov 25. Durham, NC, US - Triangle Rustaceans - Project Night & Lightning Talks](https://www.meetup.com/triangle-rustaceans/events/mfglwpyzpbhc/). |
| 143 | +* [Nov 26. Dallas, TX, US - Dallas Rust - Last Tuesday](https://www.meetup.com/Dallas-Rust/events/zfgwzmyzpbjc/). |
| 144 | +* [Nov 27. Vancouver, BC, CA - Vancouver Rust meetup](https://www.meetup.com/Vancouver-Rust/events/rwcpfryzpbkc/). |
| 145 | +* [Nov 27. Mesa, AZ, US - Desert Rust - Rust: Crates and Organization](https://www.meetup.com/Desert-Rustaceans/events/wmmphryzpbkc/). |
| 146 | +* [Dec 3. San Francisco, CA, US - Rust Bay Area - [@ Cloudflare] Declarative UIs in Rust and Real-world production CLIs](https://www.meetup.com/Rust-Bay-Area/events/266571982). |
| 147 | +* [Dec 4. Indianapolis, IN, US - Indy.rs](https://www.meetup.com/indyrs/events/mffbtpyzqbgb/). |
| 148 | +* [Dec 4. Portland, OR, US - PDXRust - macros_rule!](https://www.meetup.com/PDXRust/events/264733991/). |
| 149 | + |
| 150 | +If you are running a Rust event please add it to the [calendar] to get |
| 151 | +it mentioned here. Please remember to add a link to the event too. |
| 152 | +Email the [Rust Community Team][community] for access. |
| 153 | + |
| 154 | +[calendar]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com |
| 155 | +[community]: mailto:community-team@rust-lang.org |
| 156 | + |
| 157 | +# Rust Jobs |
| 158 | + |
| 159 | +*Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) to get your job offers listed here!* |
| 160 | + |
| 161 | +# Quote of the Week |
| 162 | + |
| 163 | +This week, we have two quotes: |
| 164 | + |
| 165 | +> Telling a programmer there's already a library to do X is like telling a songwriter there's already a song about love. |
| 166 | +
|
| 167 | +– [PeteCordell on twitter](https://twitter.com/petecordell/status/428542622844477441), as [quoted in a recent Rust Gamedev meetup](https://www.youtube.com/watch?v=lpOg2nl3kr0) |
| 168 | + |
| 169 | +> Well a Museum purpose is also memory safety, I guess. |
| 170 | +
|
| 171 | +– [/u/xav_19 on /r/rust](https://www.reddit.com/r/rust/comments/dxh6pg/why_is_trpl_sold_in_the_gift_shop_at_the_spy/f7r8d3k?utm_source=share&utm_medium=web2x) commenting on a post asking why "The Rust Programming Language" is sold in Washington D.C.'s spy museum's gift shop |
| 172 | + |
| 173 | +Thanks to [Matthieu M.](https://users.rust-lang.org/t/twir-quote-of-the-week/328/737) and [ZiCog](https://users.rust-lang.org/t/twir-quote-of-the-week/328/739) for the suggestion! |
| 174 | + |
| 175 | +[Please submit quotes and vote for next week!](https://users.rust-lang.org/t/twir-quote-of-the-week/328) |
| 176 | + |
| 177 | +*This Week in Rust is edited by: [nasa42](https://github.com/nasa42), [llogiq](https://github.com/llogiq), and [Flavsditz](https://github.com/Flavsditz).* |
| 178 | + |
| 179 | +<small>[Discuss on r/rust]().</small> |
0 commit comments