|
| 1 | +Title: This Week in Rust 310 |
| 2 | +Number: 310 |
| 3 | +Date: 2019-10-29 |
| 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 [grubbnet](https://github.com/dooskington/grubbnet), a TCP client/server library for networked applications and games. |
| 22 | + |
| 23 | +Thanks to [Dooskington](https://users.rust-lang.org/t/crate-of-the-week/2704/650) 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 | +* [Clippy: Passing mutable references](https://github.com/rust-lang/rust-clippy/issues/353). |
| 37 | +* [rust-bindgen: Add --symbol-prefix flag](https://github.com/rust-lang/rust-bindgen/issues/1375). |
| 38 | +* [good first issue] [Spirit: Write a tutorial for Spirit](https://github.com/vorner/spirit/issues/42). Spirit is a helper to make creating and configuring unix daemons easier. |
| 39 | + |
| 40 | +If you are a Rust project owner and are looking for contributors, please submit tasks [here][guidelines]. |
| 41 | + |
| 42 | +[guidelines]: https://users.rust-lang.org/t/twir-call-for-participation/4821 |
| 43 | + |
| 44 | +# Updates from Rust Core |
| 45 | + |
| 46 | +353 pull requests were [merged in the last week][merged] |
| 47 | + |
| 48 | +[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2019-10-14..2019-10-21 |
| 49 | + |
| 50 | +* [Stabilize proc macros generating `macro_rules` items](https://github.com/rust-lang/rust/pull/64035) |
| 51 | +* [Return `false` from `needs_drop` for all zero-sized arrays](https://github.com/rust-lang/rust/pull/65389) |
| 52 | +* [Optimize `LexicalResolve::expansion`](https://github.com/rust-lang/rust/pull/65260) |
| 53 | +* [Remove custom `PartialEq` impls for `LocalInternedString`](https://github.com/rust-lang/rust/pull/65426) |
| 54 | +* [Optimize `BitIter`](https://github.com/rust-lang/rust/pull/65425) |
| 55 | +* [Optimize dropck](https://github.com/rust-lang/rust/pull/64595) |
| 56 | +* [More symbol cleanups](https://github.com/rust-lang/rust/pull/65545) |
| 57 | +* [Avoid unnecessary arena allocations in `expand_pattern()`](https://github.com/rust-lang/rust/pull/65463) |
| 58 | +* [Avoid unnecessary `TokenTree` to `TokenStream` conversions](https://github.com/rust-lang/rust/pull/65455) |
| 59 | +* [expand: Simplify expansion of derives](https://github.com/rust-lang/rust/pull/65252) |
| 60 | +* [Fix suggestion to constrain trait for method to be found](https://github.com/rust-lang/rust/pull/65242) |
| 61 | +* [syntax: add parser recovery for intersection- / and-patterns `p1 @ p2`](https://github.com/rust-lang/rust/pull/65410) |
| 62 | +* [Reducing spurious unused lifetime warnings](https://github.com/rust-lang/rust/pull/64603) |
| 63 | +* [Bring attention to suggestions when the only difference is capitalization](https://github.com/rust-lang/rust/pull/65398) |
| 64 | +* [Use structured suggestion for restricting bounds](https://github.com/rust-lang/rust/pull/65192) |
| 65 | +* [Fix zero-size uninitialized boxes](https://github.com/rust-lang/rust/pull/65174) |
| 66 | +* [Add check for overlapping ranges to unreachable patterns lint](https://github.com/rust-lang/rust/pull/64007) |
| 67 | +* [Use more fine grained locks for the dep graph](https://github.com/rust-lang/rust/pull/63756) |
| 68 | +* [Fix `canonicalize_const_var` leaking inference variables](https://github.com/rust-lang/rust/pull/65652) |
| 69 | +* [mir-opt: Improve SimplifyLocals pass so it can remove unused consts](https://github.com/rust-lang/rust/pull/65624) |
| 70 | +* [Improve error message for APIT with explicit generic arguments](https://github.com/rust-lang/rust/pull/65614) |
| 71 | +* [Remove unreachable unit tuple compare binop codegen](https://github.com/rust-lang/rust/pull/65605) |
| 72 | +* [Avoid ICE when `include!` is used by stdin crate](https://github.com/rust-lang/rust/pull/65603) |
| 73 | +* [Implement `AsRef<[T]>` for `List<T>`](https://github.com/rust-lang/rust/pull/65444) |
| 74 | +* [hashbrown: Remove most `#[inline]` annotations](https://github.com/rust-lang/hashbrown/pull/119) |
| 75 | +* [Always inline `mem::`{`size_of`, `align_of`} in debug builds](https://github.com/rust-lang/rust/pull/65016) |
| 76 | +* [Avoid realloc in `CString::new`](https://github.com/rust-lang/rust/pull/65551) |
| 77 | +* [`BTreeSet` symmetric_difference & union optimized](https://github.com/rust-lang/rust/pull/65226) |
| 78 | +* [cargo: Allow `--all-features` in root of virtual workspace](https://github.com/rust-lang/cargo/pull/7525) |
| 79 | +* [rustup install: add `--profile` flag to override profile](https://github.com/rust-lang/rustup.rs/pull/2075) |
| 80 | + |
| 81 | +## Approved RFCs |
| 82 | + |
| 83 | +Changes to Rust follow the Rust [RFC (request for comments) |
| 84 | +process](https://github.com/rust-lang/rfcs#rust-rfcs). These |
| 85 | +are the RFCs that were approved for implementation this week: |
| 86 | + |
| 87 | +*No RFCs were approved this week.* |
| 88 | + |
| 89 | +## Final Comment Period |
| 90 | + |
| 91 | +Every week [the team](https://www.rust-lang.org/team.html) announces the |
| 92 | +'final comment period' for RFCs and key PRs which are reaching a |
| 93 | +decision. Express your opinions now. |
| 94 | + |
| 95 | +### [RFCs](https://github.com/rust-lang/rfcs/labels/final-comment-period) |
| 96 | + |
| 97 | +*No RFCs are currently in final comment period.* |
| 98 | + |
| 99 | +### [Tracking Issues & PRs](https://github.com/rust-lang/rust/labels/final-comment-period) |
| 100 | + |
| 101 | +* [disposition: merge] [Tracking issue for todo! macro](https://github.com/rust-lang/rust/issues/59277). |
| 102 | +* [disposition: merge] [Tracking issue for floats ↔ bytes conversions](https://github.com/rust-lang/rust/issues/60446). |
| 103 | +* [disposition: merge] [Stabilize RFC 2451, re-rebalance coherence](https://github.com/rust-lang/rust/issues/63599). |
| 104 | +* [disposition: merge] [[rustdoc] stabilize cfg(doctest)](https://github.com/rust-lang/rust/pull/63803). |
| 105 | +* [disposition: merge] [Stabilize nested self receivers in 1.40.0](https://github.com/rust-lang/rust/pull/64325). |
| 106 | +* [disposition: merge] [Stabilize `Option::flatten`](https://github.com/rust-lang/rust/pull/64747). |
| 107 | +* [disposition: merge] [Stabilize `const_constructor`](https://github.com/rust-lang/rust/pull/65188). |
| 108 | + |
| 109 | +## New RFCs |
| 110 | + |
| 111 | +* [Standard lazy types](https://github.com/rust-lang/rfcs/pull/2788). |
| 112 | +* [Serve crates-io registry over HTTP as static files](https://github.com/rust-lang/rfcs/pull/2789). |
| 113 | + |
| 114 | +# Upcoming Events |
| 115 | + |
| 116 | +### Africa |
| 117 | + |
| 118 | +* [Nov 6. Johannesburg, ZA - Johannesburg Rust Meetup - informal discussions on topics related to the language](https://www.meetup.com/Johannesburg-Rust-Meetup/events/dgqmbryzpbjb/). |
| 119 | + |
| 120 | +### Asia Pacific |
| 121 | + |
| 122 | +* [Oct 26. Tokyo, JP - Rust.Tokyo 2019](https://rust.tokyo/). |
| 123 | +* [Oct 26. Taipei, TW - Rust Taiwan Meetup](https://www.facebook.com/events/495062051340992/). |
| 124 | +* [Oct 29. Sydney, AU - Rust Sydney - Meetup 18](https://www.meetup.com/Rust-Sydney/events/265708002/). |
| 125 | +* [Nov 4. Auckland, NZ - Rust AKL - Introduction to Rust (part 2 of 3)](https://www.meetup.com/rust-akl/events/259481269/). |
| 126 | + |
| 127 | +### Europe |
| 128 | + |
| 129 | +* [Oct 28. Zurich, CH - Rust Zurich - October Meetup: Claudia Saxer – 66 hours of Rust](https://www.meetup.com/Rust-Zurich/events/265507413/). |
| 130 | +* [Oct 28. Gouda, NL - Rust Nederland - Rust - Talks & Demos](https://www.meetup.com/Rust-Nederland/events/265656966). |
| 131 | +* [Oct 28. London, GB - Rust London User Group - LDN Talks October 2019](https://www.meetup.com/Rust-London-User-Group/events/265590044/). |
| 132 | +* [Oct 30. Berlin, DE - OpenTechSchool Berlin - Rust Hack and Learn](https://www.meetup.com/opentechschool-berlin/events/nxdpgryznbnc/). |
| 133 | +* [Oct 30. Copenhagen, DK - Copenhagen Rust Hack Night #19](https://cph.rs/). |
| 134 | +* **[Nov 9 & 10. Barcelona, ES - RustFest Barcelona 2019](https://barcelona.rustfest.eu/).** |
| 135 | + |
| 136 | +### North America |
| 137 | + |
| 138 | +* [Oct 28. Durham, NC, US - Triangle Rustaceans - Project Night & Lightning Talks](https://www.meetup.com/triangle-rustaceans/events/mfglwpyznblc/). |
| 139 | +* [Oct 29. Dallas, TX, US - Dallas Rust - Last Tuesday](https://www.meetup.com/Dallas-Rust/events/zfgwzmyznbmc/). |
| 140 | +* [Oct 29. Chicago, IL, US - Chicago Rust Meetup - Entity Component Systems: An Intro To The Specs Crate Using Roguelikes](https://www.meetup.com/Chicago-Rust-Meetup/events/265283294). |
| 141 | +* [Oct 30. San Francisco, CA, US - Rust in Blockchain Workshop Day (SFBW)](https://www.meetup.com/Rust-in-Blockchain-San-Francisco/events/265362152/) |
| 142 | +* [Oct 30. Santa Clara, CA, US - Rust Bay Area - [@ Intel Santa Clara] Security with Rust & SGX + Life of an Async fn](https://www.meetup.com/Rust-Bay-Area/events/265478102). |
| 143 | +* [Oct 30. Vancouver, BC, CA - Vancouver Rust meetup](https://www.meetup.com/Vancouver-Rust/events/rwcpfryznbnc/). |
| 144 | +* [Nov 6. Indianapolis, IN, US - Indy.rs](https://www.meetup.com/indyrs/events/mffbtpyzpbjb/). |
| 145 | + |
| 146 | +If you are running a Rust event please add it to the [calendar] to get |
| 147 | +it mentioned here. Please remember to add a link to the event too. |
| 148 | +Email the [Rust Community Team][community] for access. |
| 149 | + |
| 150 | +[calendar]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com |
| 151 | +[community]: mailto:[email protected] |
| 152 | + |
| 153 | +# Rust Jobs |
| 154 | + |
| 155 | +* [Rust Engineer at Provable, London, GB (Remote available)](https://www.reddit.com/r/rust/comments/d9l79d/official_rrust_whos_hiring_thread_for_jobseekers/f4r63ms/). |
| 156 | +* [Rust Senior Developer at Token, Palo Alto, CA, US](https://drive.google.com/file/d/1Rnc8HQLfiy4mvzZP--1ww1vTAX5FCagD/view). |
| 157 | +* [Software Manager at Georg Fischer Signet, El Monte, CA, US](https://www.indeed.com/m/viewjob?jk=e82dad5c02d490a2). |
| 158 | +* [Associate Software Engineer at Georg Fischer Signet, El Monte, CA, US](https://www.indeed.com/m/viewjob?jk=6d5ae77b64b16f72). |
| 159 | +* [Rust/Core Developer at Parity, Berlin, DE (Remote available)](https://www.parity.io/jobs/#berlin-rust-core-developer). |
| 160 | + |
| 161 | +*Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) to get your job offers listed here!* |
| 162 | + |
| 163 | +# Quote of the Week |
| 164 | + |
| 165 | +> Rust helped me grasp concepts I should have known when writing C++ |
| 166 | +
|
| 167 | +– [Alexander Clarke on the Microsoft Security Response Center blog]() |
| 168 | + |
| 169 | +Thanks to [mmmmib](https://users.rust-lang.org/t/twir-quote-of-the-week/328/712) for the suggestion! |
| 170 | + |
| 171 | +[Please submit quotes and vote for next week!](https://users.rust-lang.org/t/twir-quote-of-the-week/328) |
| 172 | + |
| 173 | +*This Week in Rust is edited by: [nasa42](https://github.com/nasa42), [llogiq](https://github.com/llogiq), and [Flavsditz](https://github.com/Flavsditz).* |
| 174 | + |
| 175 | +<small>[Discuss on r/rust]().</small> |
0 commit comments