|
| 1 | +Title: This Week in Rust 311 |
| 2 | +Number: 311 |
| 3 | +Date: 2019-11-05 |
| 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 | +Sadly, there was no nomination for crate of the week. |
| 22 | + |
| 23 | +[Submit your suggestions and votes for next week][submit_crate]! |
| 24 | + |
| 25 | +[submit_crate]: https://users.rust-lang.org/t/crate-of-the-week/2704 |
| 26 | + |
| 27 | +# Call for Participation |
| 28 | + |
| 29 | +Always wanted to contribute to open-source projects but didn't know where to start? |
| 30 | +Every week we highlight some tasks from the Rust community for you to pick and get started! |
| 31 | + |
| 32 | +Some of these tasks may also have mentors available, visit the task page for more information. |
| 33 | + |
| 34 | +* [good first issue] [async-std: use once_cell instead of lazy_static](https://github.com/async-rs/async-std/issues/406). |
| 35 | +* [good first issue] [async-std: Add Future::flatten](https://github.com/async-rs/async-std/issues/404). |
| 36 | +* [good first issue] [async-std: Add stream::from_iter](https://github.com/async-rs/async-std/issues/400). |
| 37 | +* [good first issue] [async-std: TCP smoke testing](https://github.com/async-rs/async-std/issues/407). |
| 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 | +347 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%3A2019-10-21..2019-10-28 |
| 48 | + |
| 49 | +* [Don't ICE for completely unexpandable `impl Trait` types](https://github.com/rust-lang/rust/pull/65777) |
| 50 | +* [Eliminate `intersect_opt`](https://github.com/rust-lang/rust/pull/65648) |
| 51 | +* [Derive `Rustc{En,De}codable` for `TokenStream`](https://github.com/rust-lang/rust/pull/65641) |
| 52 | +* [Forbid non-`structural_match` types in const generics](https://github.com/rust-lang/rust/pull/65627) |
| 53 | +* [Turn crate store into a resolver output](https://github.com/rust-lang/rust/pull/65625) |
| 54 | +* [Simplify chalk-engine a bit](https://github.com/rust-lang/chalk/pull/264) |
| 55 | +* [Use heuristics to suggest assignment](https://github.com/rust-lang/rust/pull/65566) |
| 56 | +* [Point at associated type for some obligations](https://github.com/rust-lang/rust/pull/65288) |
| 57 | +* [Lockless `LintStore`](https://github.com/rust-lang/rust/pull/65193) |
| 58 | +* [Remove unnecessary trait bounds and derivations](https://github.com/rust-lang/rust/pull/65647) |
| 59 | +* [Change untagged_unions to not allow union fields with drop](https://github.com/rust-lang/rust/pull/62330) |
| 60 | +* [miri: Add `write_bytes` method to Memory doing bounds-checks and supporting iterators](https://github.com/rust-lang/rust/pull/65621) |
| 61 | +* [Object safe for dispatch](https://github.com/rust-lang/rust/pull/57545) |
| 62 | +* [Fix WASI sleep impl](https://github.com/rust-lang/rust/pull/65617) |
| 63 | +* [Stabilize `const_constructor`](https://github.com/rust-lang/rust/pull/65188) |
| 64 | +* [Stabilize `Option::flatten`](https://github.com/rust-lang/rust/pull/64747) |
| 65 | +* [Stabilize `#[non_exhaustive]`](https://github.com/rust-lang/rust/pull/64639) (RFC 2008) |
| 66 | +* [Make `is_power_of_two` a const function](https://github.com/rust-lang/rust/pull/65092) |
| 67 | +* [Add by-value iterator for arrays](https://github.com/rust-lang/rust/pull/62959) |
| 68 | +* [Add `Cow::`{`is_borrowed`, `is_owned`}`()`](https://github.com/rust-lang/rust/pull/65144) |
| 69 | +* [Add `[_]::`{`as_ptr_range`, `as_mut_ptr_range`}`()`](https://github.com/rust-lang/rust/pull/65806) |
| 70 | +* [Add {`String`, `Vec`}`::into_raw_parts()`](https://github.com/rust-lang/rust/pull/65705) |
| 71 | +* [Add the `matches!( $expr, $pat ) -> bool` macro](https://github.com/rust-lang/rust/pull/65479) |
| 72 | +* [Relax `ExactSizeIterator` bound on `write_bytes`](https://github.com/rust-lang/rust/pull/65704) |
| 73 | +* [rustdoc: Forward `-Z` options to rustc](https://github.com/rust-lang/rust/pull/65314) |
| 74 | + |
| 75 | +## Approved RFCs |
| 76 | + |
| 77 | +Changes to Rust follow the Rust [RFC (request for comments) |
| 78 | +process](https://github.com/rust-lang/rfcs#rust-rfcs). These |
| 79 | +are the RFCs that were approved for implementation this week: |
| 80 | + |
| 81 | +*No RFCs were approved this week.* |
| 82 | + |
| 83 | +## Final Comment Period |
| 84 | + |
| 85 | +Every week [the team](https://www.rust-lang.org/team.html) announces the |
| 86 | +'final comment period' for RFCs and key PRs which are reaching a |
| 87 | +decision. Express your opinions now. |
| 88 | + |
| 89 | +### [RFCs](https://github.com/rust-lang/rfcs/labels/final-comment-period) |
| 90 | + |
| 91 | +* [disposition: postpone] [Signing registry index commits](https://github.com/rust-lang/rfcs/pull/2474). |
| 92 | + |
| 93 | +### [Tracking Issues & PRs](https://github.com/rust-lang/rust/labels/final-comment-period) |
| 94 | + |
| 95 | +* [disposition: merge] [Stabilize --extern flag without a path](https://github.com/rust-lang/rust/pull/64882). |
| 96 | +* [disposition: merge] [Stabilize cfg(doctest)](https://github.com/rust-lang/rust/pull/63803). |
| 97 | +* [disposition: merge] [Fix accidental stabilization in feature-detection macros](https://github.com/rust-lang/rust/pull/64534). |
| 98 | +* [disposition: merge] [Implement @argsfile to read arguments from command line](https://github.com/rust-lang/rust/issues/63576). |
| 99 | +* [disposition: merge] [Tracking issue for todo! macro](https://github.com/rust-lang/rust/issues/59277). |
| 100 | +* [disposition: merge] [Tracking issue for floats ↔ bytes conversions](https://github.com/rust-lang/rust/issues/60446). |
| 101 | +* [disposition: merge] [Under what conditions can you implement Copy for a union](https://github.com/rust-lang/rust/issues/65748)? |
| 102 | + |
| 103 | +## New RFCs |
| 104 | + |
| 105 | +* [Propose implicit named arguments for formatting macros](https://github.com/rust-lang/rfcs/pull/2795). |
| 106 | +* [Announcing the FFI-unwinding Project Group](https://github.com/rust-lang/rfcs/pull/2797). |
| 107 | +* [Environment variable sandboxing](https://github.com/rust-lang/rfcs/pull/2794). |
| 108 | +* [Add `[T]::as_ptr_range()`](https://github.com/rust-lang/rfcs/pull/2791). |
| 109 | +* [Subslice-offset - Get the offset of references into a slice](https://github.com/rust-lang/rfcs/pull/2796). |
| 110 | + |
| 111 | +# Upcoming Events |
| 112 | + |
| 113 | +### Africa |
| 114 | + |
| 115 | +* [Nov 6. Johannesburg, ZA - Johannesburg Rust Meetup - informal discussions on topics related to the language](https://www.meetup.com/Johannesburg-Rust-Meetup/events/dgqmbryzpbjb/). |
| 116 | + |
| 117 | +### Asia Pacific |
| 118 | + |
| 119 | +* [Nov 4. Auckland, NZ - Rust AKL - Introduction to Rust (part 2 of 3)](https://www.meetup.com/rust-akl/events/259481269/). |
| 120 | +* [Nov 13. TBD, MY - Rust Malaysia Meetup November 2019](https://docs.google.com/forms/d/e/1FAIpQLSfZM9XYmBXq9tjqRziR-O3vBmm4rt1Ltnc9bGcleVrLmZHrSg/viewform). |
| 121 | + |
| 122 | +### Europe |
| 123 | + |
| 124 | +* [Nov 2. Lviv, UA - Peer Lab Lviv #Rust: Introduction](https://t.me/peerlab_lviv_rust/135). |
| 125 | +* [Nov 2. Kharkiv, UA - Peer Lab Kharkiv #Rust: Command-Line Applications in Rust](https://www.facebook.com/events/689432161466405/). |
| 126 | +* **[Nov 9 & 10. Barcelona, ES - RustFest Barcelona 2019](https://barcelona.rustfest.eu/).** |
| 127 | +* [Nov 12. Hamburg, DE - Rust Hack & Learn November 2019](https://www.meetup.com/Rust-Meetup-Hamburg/events/265899865/). |
| 128 | +* [Nov 13. Wrocław, PL - Rust Wrocław Meetup #14](https://www.meetup.com/Rust-Wroclaw/events/265813648/). |
| 129 | +* [Nov 13. Berlin, DE - OpenTechSchool Berlin - Rust Hack and Learn](https://www.meetup.com/opentechschool-berlin/events/nxdpgryzpbrb/). |
| 130 | +* [Nov 14. Zurich, CH - Rust Zurich - RustFest Decompression Zürich](https://www.meetup.com/Rust-Zurich/events/265593126/). |
| 131 | +* [Nov 15. Barcelona, ES - Rust GTK/GStreamer Workshop at Linux Application Summit 2019](https://www.meetup.com/Barcelona-Free-Software/events/265596417/). |
| 132 | + |
| 133 | +### North America |
| 134 | + |
| 135 | +* [Nov 6. Indianapolis, IN, US - Indy.rs](https://www.meetup.com/indyrs/events/mffbtpyzpbjb/). |
| 136 | +* [Nov 13. Atlanta, GA, US - Grab a beer with fellow Rustaceans](https://www.meetup.com/Rust-ATL/events/qxqdgryzpbrb/). |
| 137 | +* [Nov 12. Seattle, WA, US - Seattle Rust Meetup - Monthly meetup](https://www.meetup.com/Seattle-Rust-Meetup/events/prbtdryzpbqb/). |
| 138 | +* [Nov 13. Vancouver, BC, CA - Vancouver Rust meetup](https://www.meetup.com/Vancouver-Rust/events/rwcpfryzpbrb/). |
| 139 | +* [Nov 14. San Diego, CA, US - San Diego Rust November Meetup](https://www.meetup.com/San-Diego-Rust/events/265981542/). |
| 140 | +* [Nov 14. Lehi, UT, US - Utah Rust - November 2019 Regular Meetup](https://www.meetup.com/utah-rust/events/265905259/). |
| 141 | +* [Nov 14. Columbus, OH, US - Columbus Rust Society - Monthly Meeting](https://www.meetup.com/columbus-rs/events/dpkhgryzpbsb/). |
| 142 | + |
| 143 | +If you are running a Rust event please add it to the [calendar] to get |
| 144 | +it mentioned here. Please remember to add a link to the event too. |
| 145 | +Email the [Rust Community Team][community] for access. |
| 146 | + |
| 147 | +[calendar]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com |
| 148 | +[community]: mailto:[email protected] |
| 149 | + |
| 150 | +# Rust Jobs |
| 151 | + |
| 152 | +*Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) to get your job offers listed here!* |
| 153 | + |
| 154 | +# Quote of the Week |
| 155 | + |
| 156 | +> …man, starting to dig through the source code of a really large open source program is so weird. It’s like wandering around a giant cathedral that’s being constantly renovated and repaired and maintained over the course of years by a giant team of invisible crafters and architects, who mostly communicate via notes and designs pinned to the walls in various places. |
| 157 | +
|
| 158 | +– [icefoxen on their wiki](https://wiki.alopex.li/WhereRustcSpendsItsTime) |
| 159 | + |
| 160 | +Thanks to [Ralf Jung](https://users.rust-lang.org/t/twir-quote-of-the-week/328/717) for the suggestion! |
| 161 | + |
| 162 | +[Please submit quotes and vote for next week!](https://users.rust-lang.org/t/twir-quote-of-the-week/328) |
| 163 | + |
| 164 | +*This Week in Rust is edited by: [nasa42](https://github.com/nasa42), [llogiq](https://github.com/llogiq), and [Flavsditz](https://github.com/Flavsditz).* |
| 165 | + |
| 166 | +<small>[Discuss on r/rust]().</small> |
0 commit comments