|
| 1 | +Title: This Week in Rust 206 |
| 2 | +Number: 206 |
| 3 | +Date: 2017-10-31 |
| 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 [colored](https://crates.io/crates/colored) a UNIX-based terminal color crate. Thanks to [Kyle Galloway](https://users.rust-lang.org/u/kylegalloway) for |
| 22 | +the suggestion. |
| 23 | + |
| 24 | +[Submit your suggestions and votes for next week][submit_crate]! |
| 25 | + |
| 26 | +[submit_crate]: https://users.rust-lang.org/t/crate-of-the-week/2704 |
| 27 | + |
| 28 | +# Call for Participation |
| 29 | + |
| 30 | +Always wanted to contribute to open-source projects but didn't know where to start? |
| 31 | +Every week we highlight some tasks from the Rust community for you to pick and get started! |
| 32 | + |
| 33 | +Some of these tasks may also have mentors available, visit the task page for more information. |
| 34 | + |
| 35 | +* [How to get involved with the new gfx-rs development](https://github.com/gfx-rs/gfx/wiki/Getting-Involved). |
| 36 | +* [Contribute to Rust's 2017 impl period](https://www.rustaceans.org/findwork/impl). |
| 37 | +* [CfP is open for FOSDEM 2018](https://rust-fosdem.github.io). |
| 38 | +* [semver-parser: Add examples to public items and methods](https://github.com/steveklabnik/semver-parser/issues/17). |
| 39 | +* [semver-parser: Add readme, keywords and categories to Cargo.toml](https://github.com/steveklabnik/semver-parser/issues/18). |
| 40 | +* [semver-parser: Add html_root_url attribute to crate root](https://github.com/steveklabnik/semver-parser/issues/19). |
| 41 | +* [semver-parser: Make structures with public fields non-exhaustive](https://github.com/steveklabnik/semver-parser/issues/20). |
| 42 | +* [semver-parser: Rename `Predicate` to `Comparator` and `VersionReq` to `Range`](https://github.com/steveklabnik/semver-parser/issues/21). |
| 43 | +* [semver-parser: Support parsing range sets](https://github.com/steveklabnik/semver-parser/issues/22). |
| 44 | +* [semver-parser: Add documentation to the crate root and public items](https://github.com/steveklabnik/semver-parser/issues/23). |
| 45 | +* [semver-parser: Implement common traits for `Version`](https://github.com/steveklabnik/semver-parser/issues/16). |
| 46 | +* [semver-parser: Implement common traits for `VersionReq`](https://github.com/steveklabnik/semver-parser/issues/15). |
| 47 | +* [semver: Use `?` instead of `unwrap` in examples](https://github.com/steveklabnik/semver/issues/129). |
| 48 | +* [semver: Document error cases on `Version::parse`](https://github.com/steveklabnik/semver/issues/130). |
| 49 | +* [semver: Document error cases on `VersionReq::parse`](https://github.com/steveklabnik/semver/issues/131). |
| 50 | +* [semver: Turn references to other `semver` items into links](https://github.com/steveklabnik/semver/issues/132). |
| 51 | +* [semver: Add keywords and categories to Cargo.toml](https://github.com/steveklabnik/semver/issues/133). |
| 52 | +* [semver: Add html_root_url attribute to crate root](https://github.com/steveklabnik/semver/issues/134). |
| 53 | +* [semver: Make error types non-exhaustive](https://github.com/steveklabnik/semver/issues/135). |
| 54 | +* [semver: Make fields on `Version` private](https://github.com/steveklabnik/semver/issues/136). |
| 55 | +* [semver: Support range sets](https://github.com/steveklabnik/semver/issues/137). |
| 56 | +* [semver: Rename VersionReq to Range](https://github.com/steveklabnik/semver/issues/138). |
| 57 | +* [winit: Wayland metabug](https://github.com/tomaka/winit/issues/306). |
| 58 | +* [arrayvec: ArrayString lacks removal features](https://github.com/bluss/arrayvec/issues/66#issuecomment-338413765). |
| 59 | +* [easy] [allocators-rs: malloc-bind: Use likely/unlikely](https://github.com/ezrosent/allocators-rs/issues/111). |
| 60 | +* [medium] [allocators-rs: elfc: Test in Travis and AppVeyor](https://github.com/ezrosent/allocators-rs/issues/119). |
| 61 | +* [medium] [allocators-rs: alloc-fmt: Skip early frames of backtrace](https://github.com/ezrosent/allocators-rs/issues/107). |
| 62 | + |
| 63 | +If you are a Rust project owner and are looking for contributors, please submit tasks [here][guidelines]. |
| 64 | + |
| 65 | +[guidelines]: https://users.rust-lang.org/t/twir-call-for-participation/4821 |
| 66 | + |
| 67 | +# Updates from Rust Core |
| 68 | + |
| 69 | +121 pull requests were [merged in the last week][merged] |
| 70 | + |
| 71 | +[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2017-10-16..2017-10-23 |
| 72 | + |
| 73 | +* [rustbuild: Compile rustc with ThinLTO](https://github.com/rust-lang/rust/pull/45400) |
| 74 | +* [code suggestions for non-shorthand field pattern, no-mangle lints](https://github.com/rust-lang/rust/pull/45232) |
| 75 | +* [cleanly error for non-const variable in associated const](https://github.com/rust-lang/rust/pull/45442) |
| 76 | +* [remove or encapsulate the remaining non-query data in tcx](https://github.com/rust-lang/rust/pull/44501) |
| 77 | +* [make `erase_regions_ty` query anonymous](https://github.com/rust-lang/rust/pull/45364) |
| 78 | +* [bump the minimum LLVM to 3.9](https://github.com/rust-lang/rust/pull/45326) |
| 79 | +* [backport ThinLTO LLVM 5 fixes](https://github.com/rust-lang/rust/pull/45301) |
| 80 | +* [rustc: Move bytecode compression into codegen](https://github.com/rust-lang/rust/pull/45399) |
| 81 | +* [rustc: Add `_imp_` symbols later in compilation](https://github.com/rust-lang/rust/pull/45348) |
| 82 | +* [incr.comp.: Use 128bit SipHash for fingerprinting](https://github.com/rust-lang/rust/pull/45319) |
| 83 | +* [mark block exits as reachable if the block can break](https://github.com/rust-lang/rust/pull/45316) |
| 84 | +* [avoid unnecessary allocas for indirect function arguments](https://github.com/rust-lang/rust/pull/44573) |
| 85 | +* [std: Update randomness implementation on Windows](https://github.com/rust-lang/rust/pull/45370) |
| 86 | +* [fix a few bugs in drop generation](https://github.com/rust-lang/rust/pull/45359) |
| 87 | +* [introduce pthread_cancel() for terminating threads](https://github.com/rust-lang/libc/pull/810) |
| 88 | +* [fix ABI breakage in syscall constants](https://github.com/rust-lang/libc/pull/815) |
| 89 | +* [fix most rendering warnings from switching to CommonMark](https://github.com/rust-lang/rust/pull/45419) |
| 90 | +* [allow cargo install --version as well (preferred)](https://github.com/rust-lang/cargo/pull/4637) |
| 91 | + |
| 92 | +## New Contributors |
| 93 | + |
| 94 | +* cjkenn |
| 95 | +* clippered |
| 96 | +* greg |
| 97 | +* Marco Concetto Rudilosso |
| 98 | +* Sunjay Varma |
| 99 | + |
| 100 | +## Approved RFCs |
| 101 | + |
| 102 | +Changes to Rust follow the Rust [RFC (request for comments) |
| 103 | +process](https://github.com/rust-lang/rfcs#rust-rfcs). These |
| 104 | +are the RFCs that were approved for implementation this week: |
| 105 | + |
| 106 | +*No RFCs were approved this week.* |
| 107 | + |
| 108 | +## Final Comment Period |
| 109 | + |
| 110 | +Every week [the team](https://www.rust-lang.org/team.html) announces the |
| 111 | +'final comment period' for RFCs and key PRs which are reaching a |
| 112 | +decision. Express your opinions now. [This week's FCPs][fcp] are: |
| 113 | + |
| 114 | +[fcp]: https://github.com/rust-lang/rfcs/labels/final-comment-period |
| 115 | + |
| 116 | +* [disposition: merge] [Fallible collection allocation 1.0](https://github.com/rust-lang/rfcs/pull/2116). |
| 117 | +* [disposition: merge] [Implicit caller location (third try to the unwrap/expect line info problem)](https://github.com/rust-lang/rfcs/pull/2091). |
| 118 | +* [disposition: merge] [Unsized rvalues](https://github.com/rust-lang/rfcs/pull/1909). |
| 119 | +* [disposition: merge] [eRFC: Cargo build system integration](https://github.com/rust-lang/rfcs/pull/2136). |
| 120 | +* [disposition: merge] [Type privacy and private-in-public lints](https://github.com/rust-lang/rfcs/pull/2145). |
| 121 | + |
| 122 | +## New RFCs |
| 123 | + |
| 124 | +* [Cargo versioning](https://github.com/rust-lang/rfcs/pull/2182). |
| 125 | +* [Movable array iterators](https://github.com/rust-lang/rfcs/pull/2185). |
| 126 | +* [Imply Option](https://github.com/rust-lang/rfcs/pull/2180). |
| 127 | +* [Support long path names on all Windows versions](https://github.com/rust-lang/rfcs/pull/2188). |
| 128 | + |
| 129 | +# Upcoming Events |
| 130 | + |
| 131 | +* [Oct 26 & 27. Rust Belt Rust 2017 - Columbus OH](https://www.rust-belt-rust.com/). |
| 132 | +* [Oct 26. Finland Rust-lang group October meetup](https://www.meetup.com/Finland-Rust-Meetup/events/243886850/). |
| 133 | +* [Oct 26. Mozilla Community Dresden - Rust meetup](https://www.meetup.com/Mozilla-Community-Dresden/events/243915635/). |
| 134 | +* [Oct 27. Rust Bangalore - Rust XML JSON and Serialization Workshop](https://www.meetup.com/rustox/events/243387629/). |
| 135 | +* [Oct 28 & 29. Get In Touch With Rust! @ MozFest London](http://mozillafestival.org/) |
| 136 | +* [Oct 30. Rust Oslo - Code generation and type providers in Rust](https://www.meetup.com/Rust-Oslo/events/244142198/). |
| 137 | +* [Oct 31. Rust Zürich - Calling Rust from C and Java - October Community Meetup](https://www.meetup.com/Rust-Zurich/events/243147356/). |
| 138 | +* [Nov 1. Boston Rust - Presentation and Hack Night](https://www.meetup.com/BostonRust/events/244260833/). |
| 139 | +* [Nov 1. Rust Atlanta - Grab a beer with fellow Rustaceans](https://www.meetup.com/Rust-ATL/events/243942704/). |
| 140 | +* [Nov 1. OpenTechSchool Berlin - Rust Hack and Learn](https://www.meetup.com/opentechschool-berlin/events/krnczlywpbcb/). |
| 141 | +* [Nov 1. Rust Community Team Meeting at #rust-community on irc.mozilla.org](https://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust-community). |
| 142 | +* [Nov 1. Rust Documentation Team Meeting at #rust-docs on irc.mozilla.org](https://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust-docs). |
| 143 | +* [Nov 2. Rust Bay Area - Zero Knowledge Proof Macros and Cernan (data pipelining)](https://www.meetup.com/Rust-Bay-Area/events/244156617/). |
| 144 | +* [Nov 2. Rust release triage](https://internals.rust-lang.org/t/release-cycle-triage-proposal/3544). |
| 145 | +* [Nov 4. Rust Bangalore - Rust Concurrency Workshop](https://www.meetup.com/rustox/events/240879563/). |
| 146 | +* [Nov 8. Rust Community Team Meeting at #rust-community on irc.mozilla.org](https://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust-community). |
| 147 | +* [Nov 8. Rust Documentation Team Meeting at #rust-docs on irc.mozilla.org](https://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust-docs). |
| 148 | +* [Nov 9. Rust DC - Mid-month Rustful](https://www.meetup.com/RustDC/events/243672298/). |
| 149 | +* [Nov 9. Columbus Rust Society - Monthly Meeting](https://www.meetup.com/columbus-rs/events/244164143/). |
| 150 | + |
| 151 | +If you are running a Rust event please add it to the [calendar] to get |
| 152 | +it mentioned here. 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:[email protected] |
| 156 | + |
| 157 | +# Rust Jobs |
| 158 | + |
| 159 | +* [Distributed Application Developer at Sphere Identity, Auckland, NZ](https://nz.linkedin.com/jobs/view/distributed-application-developers---blockchain-at-sphere-identity-ltd-442432632). |
| 160 | +* [Full-time Rust position at Commure, San Francisco, US](https://news.ycombinator.com/item?id=15387799). |
| 161 | + |
| 162 | +*Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) to get your job offers listed here!* |
| 163 | + |
| 164 | +# Quote of the Week |
| 165 | + |
| 166 | +> I guess I would say that, it’s not only important that it be possible to do a good design in a given language, but that the language actively encourage it by making the bad design painful. I think rust does a FANTASTIC job of this. |
| 167 | +
|
| 168 | +— [/u/kyrenn during an AMA on developing a cross-platform game in Rust](https://www.reddit.com/r/rust/comments/78bowa/hey_this_is_kyren_from_chucklefish_we_make_and/dosq5qr/). |
| 169 | + |
| 170 | +Thanks to [Kyle Strand](https://users.rust-lang.org/t/twir-quote-of-the-week/328/460) for the suggestion! |
| 171 | + |
| 172 | +[Submit your quotes for next week][submit]! |
| 173 | + |
| 174 | +[submit]: http://users.rust-lang.org/t/twir-quote-of-the-week/328 |
| 175 | + |
| 176 | +*This Week in Rust is edited by: [nasa42](https://github.com/nasa42) and [llogiq](https://github.com/llogiq).* |
0 commit comments