Skip to content

Commit 6bb6ea7

Browse files
Merge pull request #2 from rust-lang/master
Updating to base
2 parents 5826c76 + 669a6cf commit 6bb6ea7

25 files changed

+4530
-164
lines changed

README.md

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,43 @@ license](http://mit-license.org/).
88

99
## PRs for next issue are now being accepted
1010

11-
Check the `drafts` directory for more details.
11+
To propose content for inclusion in the next newsletter (found in the `drafts/`
12+
folder), create a new [Pull Request][pr] updating the relevant section in the
13+
draft.
14+
15+
Alternately, tweet us [@thisweekinrust](https://twitter.com/thisweekinrust).
16+
17+
### What do we look for when considering whether to include something in This Week in Rust?
18+
19+
This Week in Rust is intended to highlight the incredible work of the Rust Community.
20+
21+
What we are generally looking for includes:
22+
23+
* how-to intros (and advanced deep dives) into Rust concepts and areas
24+
* Rust walkthroughs that explain concepts in different ways than well known resources like [the Rust book](https://doc.rust-lang.org/stable/book/), [Rustlings](https://github.com/rust-lang/rustlings), and [Rust by Example](https://doc.rust-lang.org/stable/rust-by-example/)
25+
* updates on tooling when in long form or framed as a tutorial (for more details, see what we are not looking for below)
26+
* Rust-related podcast episodes
27+
* Rust-related screenshots and videos
28+
* Rust meetup recordings
29+
* Rust meetup announcements
30+
* Presenter slide decks on Rust
31+
* Observations and thoughts on Rust and the Rust community
32+
* Calls for participation in Rust open source projects
33+
* Rust job announcements
34+
* and more!
35+
36+
What we are generally NOT looking for includes:
37+
38+
* Anything that violates the [Rust Community Code of Conduct](https://www.rust-lang.org/policies/code-of-conduct)
39+
* Rants or anything degrading to any part or member of the Community. Rather than submitting an article about what is wrong with something, we would much rather you write something that explains how you'd make it better.
40+
* Duplicates of recent posts (even with the wording changed slightly)
41+
* Links to crates or GitHub repos without some sort of context. We would much rather you submit a blog post introducing your project and how a Rust user might use it (and what it would help them do) and/or what you learned about Rust in the process of writing the project.
42+
* Anything behind a paywall (this includes includes Medium's paid article mechanism)
43+
* Anything that requires information to be shared/captured (like an email address) in order to access
44+
45+
These are meant to be guidelines, if you are ever not sure about whether something should be included please feel free to open a pull request anyway and we can discuss it!
46+
47+
The editors of This Week in Rust do reserve the right to make the decision about whether to include something or not, but we intend to do so in a way that is as transparent as possible.
1248

1349
## How I get PR lists:
1450

content/2015-02-09-this-week-in-rust.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ Now you can follow breaking changes *[as they happen][BitRust]*!
187187
[dimensioned]: https://www.reddit.com/r/rust/comments/2uuwsx/introducing_dimensioned_a_library_for_compiletime/
188188
[byteorder]: https://github.com/BurntSushi/byteorder
189189
[rustless]: https://github.com/rustless/rustless
190-
[Iron]: http://ironframework.io/
190+
[Iron]: https://github.com/iron/iron
191191
[Hyper]: https://github.com/hyperium/hyper
192192
[colonize]: https://www.reddit.com/r/rust_gamedev/comments/2ue5re/announcing_colonize/
193193
[tcod]: https://github.com/tomassedovic/tcod-rs
Lines changed: 212 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,212 @@
1+
Title: This Week in Rust 369
2+
Number: 369
3+
Date: 2020-12-16
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/rust-lang/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/rust-lang/this-week-in-rust).
13+
If you find any errors in this week's issue, [please submit a PR](https://github.com/rust-lang/this-week-in-rust/pulls).
14+
15+
# Updates from Rust Community
16+
17+
### Official
18+
* [Launching the Lock Poisoning Survey](https://blog.rust-lang.org/2020/12/11/lock-poisoning-survey.html)
19+
* [Next steps for the Foundation Conversation](https://blog.rust-lang.org/2020/12/14/Next-steps-for-the-foundation-conversation.html)
20+
* [Rust Survey 2020 Results](https://blog.rust-lang.org/2020/12/16/rust-survey-2020.html)
21+
* [Inside] [Changes to Rust Compiler Team](https://blog.rust-lang.org/inside-rust/2020/12/14/changes-to-compiler-team.html)
22+
23+
### Newsletters
24+
* [This Month in Rust OSDev (November 2020)](https://rust-osdev.com/this-month/2020-11/)
25+
26+
### Tooling
27+
* [IntelliJ Rust Changelog #137](https://intellij-rust.github.io/2020/12/14/changelog-137.html)
28+
* [Rust Analyzer Changelog #55](https://rust-analyzer.github.io/thisweek/2020/12/14/changelog-55.html)
29+
* [Knurling-rs Changelog #10](https://ferrous-systems.com/blog/knurling-changelog-10/)
30+
* [These Months in explaine.rs](https://jrvidal.github.io/explaine.rs/blog/these-months-in-explainers.html)
31+
* [Cargo2nix 0.9.0 release notes](https://github.com/cargo2nix/cargo2nix/releases/tag/v0.9.0)
32+
33+
### Observations/Thoughts
34+
* [FFI-Safe Polymorphism: Thin Trait Objects](https://adventures.michaelfbryan.com/posts/ffi-safe-polymorphism-in-rust/)
35+
* [Adding BPF target support to the Rust compiler](https://confused.ai/posts/rust-bpf-target)
36+
* [Why Rust Has a Bright Future in the Cloud](https://www.qovery.com/blog/why-rust-has-a-bright-future-in-the-cloud)
37+
* [Closures: Magic Functions](https://rustyyato.github.io/rust/syntactic/sugar/2019/01/17/Closures-Magic-Functions.html)
38+
* [Notes on cross-compiling Rust](https://john-millikin.com/notes-on-cross-compiling-rust)
39+
* [Polymorphism in Rust: Enums vs Traits](https://www.mattkennedy.io/blog/rust_polymorphism/)
40+
* [Beyond R and Python: Rust for Science](https://scie.nz/rust/)
41+
* [Pointers Are Complicated II, or: We need better language specs](https://www.ralfj.de/blog/2020/12/14/provenance.html)
42+
* [Serde tricks: The lesson learnt from refactoring rspotify](https://0x709394.me/Serde-tricks)
43+
* [Notes On Lock Poisoning](https://matklad.github.io/2020/12/12/notes-on-lock-poisoning.html)
44+
* [I tried to make the fastest sorting algorithm I could think of... in Rust](https://danielvz.cl/blog/fast-rust.html)
45+
* [Still Rusting - One Year Later](https://deislabs.io/posts/still-rusting-one-year-later/)
46+
* [6 Principles for Building Robust Flexible Shared Data Apps with Rust & MongoDB](https://developer.mongodb.com/article/six-principles-building-robust-flexible-shared-data-applications)
47+
* [video] [The Unsafe Chronicles: Exhibit A: Aliasing Boxes](https://youtu.be/EY7Wi9fV5bk)
48+
49+
### Rust Walkthroughs
50+
* [Make A Language - Part Fourteen: Comments](https://arzg.github.io/lang/14/)
51+
* [Make A Language - Part Fifteen: Markers](https://arzg.github.io/lang/15/)
52+
* [Rust, Python and Fish](https://benjamin.computer/posts/2020-12-12-rust-python.html)
53+
* [Chess game in Rust using Bevy](https://caballerocoll.com/blog/bevy-chess-tutorial/)
54+
* [Rust on the BBC micro:bit](https://blog.drogue.io/rust-and-microbit/)
55+
* [Developing smart contracts with ink!](https://dev.to/yangwao/developing-smart-contracts-with-ink-4g72)
56+
* [Learn SixtyFPS: Memory Game Tutorial (Rust)](https://sixtyfps.io/blog/memory-game-tutorial.html)
57+
* [Aiming for correctness with types](https://fasterthanli.me/articles/aiming-for-correctness-with-types)
58+
* [Zero to Production in Rust #6: Using Types To Guarantee Domain Invariants](https://www.lpalmieri.com/posts/2020-12-11-zero-to-production-6-domain-modelling/)
59+
* [FFI-Safe Polymorphism: Thin Trait Objects](https://adventures.michaelfbryan.com/posts/ffi-safe-polymorphism-in-rust/)
60+
* [Distributing Rust Analyzer with Nix and Cargo2nix](https://github.com/cargo2nix/cargo2nix/tree/master/examples/4-independent-packaging)
61+
* [PL] [CrabbyBird #4 Generowanie świata gry – cześć II](https://postacnormalna.pl/crabbybird-4-generowanie-swiata-gry-czesc-ii/)
62+
* [video] [How oso built a runtime reflection library for Rust](https://youtu.be/J7Aosp1Uauo)
63+
* [video] [Implementing Rust's Vec From Scratch](https://youtu.be/3OL95gZgPWA)
64+
* [RU] [video] [Rust: Not as hard as you think / Russian Rust Online Meetup](https://www.youtube.com/watch?v=yCrc5BwZrtw)
65+
66+
### Project Updates
67+
* [These Months in explaine.rs](https://jrvidal.github.io/explaine.rs/blog/these-months-in-explainers.html)
68+
* [Sequoia PGP](https://www.sequoia-pgp.org/) released [version 1.0](https://sequoia-pgp.org/blog/2020/12/16/202012-1.0/)
69+
* [Connect devices to blockchains with Léger](http://www.cyrilfougeray.com/2020/12/14/leger-rust-wallet-1.html)
70+
71+
### Miscellaneous
72+
* [Signal Group Calls are powered by Rust](https://www.reddit.com/r/rust/comments/kdo06l/signal_group_calls_are_powered_by_rust/)
73+
* [Rust's Option in One Figure](https://www.reddit.com/r/rust/comments/kdfb9k/rusts_option_in_one_figure/)
74+
* [Authors of "Programming Rust 2nd Edition" have a sense of humor](https://www.reddit.com/r/rust/comments/kcou9c/authors_of_programming_rust_2nd_edition_have_a/)
75+
* [Rotating the compiler team leads](https://smallcultfollowing.com/babysteps/blog/2020/12/11/rotating-the-compiler-team-leads/)
76+
* [Debug Rust on PineCone BL602 with VSCode and GDB](https://lupyuen.github.io/articles/debug)
77+
* [RU] [audio] [SitCast#32 - Эх, Rust, да ещё Rust…](https://www.youtube.com/watch?v=w99C9heBWHE&feature=youtu.be)
78+
79+
# Crate of the Week
80+
81+
This week's crate is [thermite](https://github.com/raygon-renderer/thermite), a SIMD struct-of-arrays-algorithms library.
82+
83+
Thanks to [Willi Kappler](https://users.rust-lang.org/t/crate-of-the-week/2704/857) for the suggestion!
84+
85+
[Submit your suggestions and votes for next week][submit_crate]!
86+
87+
[submit_crate]: https://users.rust-lang.org/t/crate-of-the-week/2704
88+
89+
# Call for Participation
90+
91+
Always wanted to contribute to open-source projects but didn't know where to start?
92+
Every week we highlight some tasks from the Rust community for you to pick and get started!
93+
94+
Some of these tasks may also have mentors available, visit the task page for more information.
95+
96+
* [scaphandre: several help wanted issues](https://github.com/hubblo-org/scaphandre/issues)
97+
98+
If you are a Rust project owner and are looking for contributors, please submit tasks [here][guidelines].
99+
100+
[guidelines]: https://users.rust-lang.org/t/twir-call-for-participation/4821
101+
102+
# Updates from Rust Core
103+
104+
300 pull requests were [merged in the last week][merged]
105+
106+
[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2020-12-07..2020-12-14
107+
108+
* [fixes to Rust coverage](https://github.com/rust-lang/rust/pull/79818)
109+
* [properly re-use def path hash in incremental mode](https://github.com/rust-lang/rust/pull/79721)
110+
* [add some `core::cmp::Ordering` helpers](https://github.com/rust-lang/rust/pull/79656)
111+
* [constify some `MaybeUninit` methods](https://github.com/rust-lang/rust/pull/79621)
112+
* [Windows TLS: `ManuallyDrop` instead of `mem::forget`](https://github.com/rust-lang/rust/pull/79893)
113+
* [use `is_write_vectored` to optimize the `write_vectored` implementation for `BufWriter`](https://github.com/rust-lang/rust/pull/78768)
114+
* [enforce no-move rule of `ReentrantMutex` using `Pin` and fix UB in stdio](https://github.com/rust-lang/rust/pull/77801)
115+
* [hashbrown: enable specialization with aHash](https://github.com/rust-lang/hashbrown/pull/207)
116+
* [future: `SinkExt::feed`](https://github.com/rust-lang/futures-rs/pull/2155)
117+
* [futures-util: migrate from pin-project to pin-project-lite](https://github.com/rust-lang/futures-rs/pull/2273)
118+
* [cargo: check if rerun-if-changed points to a directory](https://github.com/rust-lang/cargo/pull/8973)
119+
* [cargo: workaround fs issue in `cargo publish`](https://github.com/rust-lang/cargo/pull/8950)
120+
* [clippy: add MSRV to more lints](https://github.com/rust-lang/rust-clippy/pull/6424)
121+
* [rustfmt: don't force a newline after an empty where clause](https://github.com/rust-lang/rustfmt/pull/4557)
122+
123+
## Rust Compiler Performance Triage
124+
125+
* [2020-12-15](https://github.com/rust-lang/rustc-perf/blob/master/triage/2020-12-15.md):
126+
6 Regressions, 1 Improvements, 2 Mixed
127+
128+
This week was fairly quite with lots of small regressions. Most of the regressions were either for fixes to changes that yielded large performance wins in previous weeks or small performance losses where there is already a plan for how to gain those losses back.
129+
130+
Triage done by @rylev.
131+
132+
See the [full report](https://github.com/rust-lang/rustc-perf/blob/master/triage/2020-12-15.md) for more.
133+
134+
## Approved RFCs
135+
136+
Changes to Rust follow the Rust [RFC (request for comments) process](https://github.com/rust-lang/rfcs#rust-rfcs). These
137+
are the RFCs that were approved for implementation this week:
138+
139+
*No RFCs were approved this week.*
140+
141+
## Final Comment Period
142+
143+
Every week [the team](https://www.rust-lang.org/team.html) announces the
144+
'final comment period' for RFCs and key PRs which are reaching a
145+
decision. Express your opinions now.
146+
147+
### [RFCs](https://github.com/rust-lang/rfcs/labels/final-comment-period)
148+
149+
* [RFC: Add `target_abi` configuration](https://github.com/rust-lang/rfcs/pull/2992)
150+
* [added secret types rfc](https://github.com/rust-lang/rfcs/pull/2859)
151+
152+
### [Tracking Issues & PRs](https://github.com/rust-lang/rust/labels/final-comment-period)
153+
154+
* [disposition: merge] [Implement `From<char>` for u64 and u128.](https://github.com/rust-lang/rust/pull/79502)
155+
* [disposition: merge] [Stabilize `unsafe_cell_get_mut`](https://github.com/rust-lang/rust/pull/79485)
156+
* [disposition: merge] [Move `{f32,f64}::clamp` to core](https://github.com/rust-lang/rust/pull/79473)
157+
* [disposition: merge] [Stabilize all stable methods of `Ipv4Addr`, `Ipv6Addr` and `IpAddr` as const](https://github.com/rust-lang/rust/pull/79342)
158+
* [disposition: merge] [Acknowledge that `[CONST; N]` is stable](https://github.com/rust-lang/rust/pull/79270)
159+
* [disposition: merge] [Deprecate atomic compare_and_swap method](https://github.com/rust-lang/rust/pull/79261)
160+
* [disposition: merge] [Stabilize `core::slice::fill`](https://github.com/rust-lang/rust/pull/79213)
161+
* [disposition: close] [Made matches! more useful by adding mapping support](https://github.com/rust-lang/rust/pull/79188)
162+
* [disposition:merge] [stabilize `#![feature(min_const_generics)]`](https://github.com/rust-lang/rust/pull/79135)
163+
* [disposition:merge] [Add `impl Div<NonZeroU{0}> for u{0}` which cannot panic](https://github.com/rust-lang/rust/pull/79134)
164+
* [disposition: merge] [passes: prohibit invalid attrs on generic params](https://github.com/rust-lang/rust/pull/79073)
165+
* [disposition: merge] [stabilize deque_range](https://github.com/rust-lang/rust/pull/79022)
166+
* [disposition: merge] [Rename `overlapping_patterns` lint](https://github.com/rust-lang/rust/pull/78242)
167+
* [disposition: merge] [Stabilize or_insert_with_key](https://github.com/rust-lang/rust/pull/78083)
168+
* [disposition: close] [Add built-in implementations of `Default` for function definition and… ](https://github.com/rust-lang/rust/pull/77688)
169+
* [disposition: merge] [Mark `-1` as an available niche for file descriptors](https://github.com/rust-lang/rust/pull/74699)
170+
* [disposition: merge] [Stabilize the Wake trait](https://github.com/rust-lang/rust/pull/74304)
171+
* [disposition: merge] [Tracking issue for map_ok and map_err method for `Poll<Option<Result<T, E>>>`](https://github.com/rust-lang/rust/issues/63514)
172+
173+
## New RFCs
174+
175+
* [Add min_target_api_version cfg predicate](https://github.com/rust-lang/rfcs/pull/3036)
176+
* [Cargo: providing artifacts (for artifact dependencies) via build.rs](https://github.com/rust-lang/rfcs/pull/3035)
177+
178+
# Upcoming Events
179+
180+
### Online
181+
* [December 16, Vancouver, BC, US - Are Results just Checked Exceptions? - Vancouver Rust](https://www.meetup.com/Vancouver-Rust/events/npqfbsybcqbvb/)
182+
* [December 29, Dallas, TX, US - Last Tuesday - Dallas Rust](https://www.meetup.com/Dallas-Rust/events/jqxqwrybcqbmc/)
183+
184+
If you are running a Rust event please add it to the [calendar] to get
185+
it mentioned here. Please remember to add a link to the event too.
186+
Email the [Rust Community Team][community] for access.
187+
188+
[calendar]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com
189+
[community]: mailto:[email protected]
190+
191+
# Rust Jobs
192+
* [Senior Software Engineer (Rust & C++) at NZXT (Remote)](https://nzxt.bamboohr.com/jobs/view.php?id=259)
193+
* [Software Development Engineer at Amazon Web Services (Seattle, WA, US)](https://www.amazon.jobs/en/jobs/1321570/software-development-engineer)
194+
* [Full remote Rust developer, long-term contract (French CDI) at Massa Labs (Remote)](https://massa.network/#jobs)
195+
196+
*Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) to get your job offers listed here!*
197+
198+
# Quote of the Week
199+
200+
> Engineering is not about "not doing mistakes". Engineering is about designing systems that ensure fewer mistakes occur.
201+
>
202+
> Rust is such a system.
203+
204+
[amos on his blog](https://fasterthanli.me/articles/aiming-for-correctness-with-types)
205+
206+
Thanks to [Joshua Nelson](https://users.rust-lang.org/t/twir-quote-of-the-week/328/972) for the suggestion.
207+
208+
[Please submit quotes and vote for next week!](https://users.rust-lang.org/t/twir-quote-of-the-week/328)
209+
210+
*This Week in Rust is edited by: [nellshamrell](https://github.com/nellshamrell), [llogiq](https://github.com/llogiq), and [cdmistman](https://github.com/cdmistman).*
211+
212+
<small>[Discuss on r/rust](https://this-week-in-rust.org/blog/2020/12/16/this-week-in-rust-369/)</small>

content/2020-12-2-this-week-in-rust.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ No project updates this week.
4040
### Rust Walkthroughs
4141
* [References in Rust](https://hashrust.com/blog/references-in-rust/)
4242
* [OS in Rust: Building kernel for custom target: Part-4](https://blog.knoldus.com/os-in-rust-building-kernel-for-custom-target-part-4/)
43-
* [Writing Rust the Elixer way](https://dev.to/bkolobara/writing-rust-the-elixir-way-2lm8)
43+
* [Writing Rust the Elixir way](https://dev.to/bkolobara/writing-rust-the-elixir-way-2lm8)
4444
* [Risp (in (Rust) (Lisp))](https://stopa.io/post/222)
45-
* [Props and Nested Components with Yes](https://dev.to/fllstck/props-and-nested-components-with-yew-2l0d)
45+
* [Props and Nested Components with Yew](https://dev.to/fllstck/props-and-nested-components-with-yew-2l0d)
4646
* [Using Selenium with Rust](https://dev.to/stevepryde/using-selenium-with-rust-aca)
4747
* [Rocket Tutorial 04: Data Persistency and Rocket (with MongoDB)](https://dev.to/davidedelpapa/rocket-tutorial-04-data-persistency-and-rocket-with-mongodb-e5j)
4848
* [The Little Book of Rust Macros](https://veykril.github.io/tlborm/)

0 commit comments

Comments
 (0)