@@ -41,20 +41,26 @@ and just ask the editors to select the category.
41
41
42
42
### Observations/Thoughts
43
43
44
+ * [ Programming languages are platforms, not products] ( https://kerkour.com/programming-languages-are-platforms )
44
45
* [ Introducing Rust in security research] ( https://tweedegolf.nl/en/blog/71/introducing-rust-in-security-research )
45
46
46
47
### Rust Walkthroughs
47
48
49
+ * [ Building a crawler in Rust: Crawling a JSON API] ( https://kerkour.com/rust-crawler-json-api )
48
50
* [ Rust-raspberrypi-OS-tutorials: Tutorial 17 - Kernel Symbols] ( https://github.com/rust-embedded/rust-raspberrypi-OS-tutorials/tree/master/17_kernel_symbols#readme )
49
51
* [ Rust-raspberrypi-OS-tutorials: Tutorial 18 - Backtracing] ( https://github.com/rust-embedded/rust-raspberrypi-OS-tutorials/tree/master/18_backtrace#readme )
50
52
51
53
### Research
52
54
53
55
### Miscellaneous
54
56
57
+ * [ Black Hat Rust discount: Happy 2022] ( https://kerkour.com/black-hat-rust-discount-happy-2022 )
58
+
55
59
## Crate of the Week
56
60
57
- <!-- COTW goes here -->
61
+ This week's crate is [ enum\_ dispatch] ( https://crates.io/crates/enum_dispatch ) , a proc-macro-attribute to replace dynamic dispatch with enum dispatch to gain performance.
62
+
63
+ Thanks to [ David Mason] ( https://users.rust-lang.org/t/crate-of-the-week/2704/1059 ) for the suggestion!
58
64
59
65
[ Please submit your suggestions and votes for next week] [ submit_crate ] !
60
66
@@ -73,7 +79,57 @@ If you are a Rust project owner and are looking for contributors, please submit
73
79
74
80
## Updates from the Rust Project
75
81
76
- <!-- Rust updates go here -->
82
+ 377 pull requests were [ merged in the last week] [ merged ]
83
+
84
+ [ merged ] : https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2022-05-02..2022-05-09
85
+
86
+ * [ rustc + avr = ❤️❤️ back again] ( https://github.com/rust-lang/llvm-project/pull/139 )
87
+ * [ support tool lints with the ` #[expect] ` attribute] ( https://github.com/rust-lang/rust/pull/95542 ) (RFC [ #2383 ] ( https://rust-lang.github.io/rfcs/2383-lint-reasons.html ) )
88
+ * [ remove ` #[rustc_deprecated] ` ] ( https://github.com/rust-lang/rust/pull/95960 )
89
+ * [ suggest fully qualified path with appropriate params] ( https://github.com/rust-lang/rust/pull/96772 )
90
+ * [ report that opaque types are not allowed in impls even in the presence of other errors] ( https://github.com/rust-lang/rust/pull/96673 )
91
+ * [ warn on unused ` #[doc(hidden)] ` attributes on trait impl items] ( https://github.com/rust-lang/rust/pull/96008 )
92
+ * [ use source callsite in ` check_argument_types ` suggestion] ( https://github.com/rust-lang/rust/pull/96589 )
93
+ * [ followups for method call error change] ( https://github.com/rust-lang/rust/pull/96155 )
94
+ * [ don't cache results of coinductive cycle] ( https://github.com/rust-lang/rust/pull/96458 )
95
+ * [ speed up ` Token::{ident,lifetime} ` ] ( https://github.com/rust-lang/rust/pull/96683 )
96
+ * [ overhaul ` MacArgs ` ] ( https://github.com/rust-lang/rust/pull/96546 )
97
+ * [ generalize "incoherent impls" impl for user defined types] ( https://github.com/rust-lang/rust/pull/96520 )
98
+ * [ optimize ` promote_consts ` by caching the results of ` validate_local ` ] ( https://github.com/rust-lang/rust/pull/96815 )
99
+ * [ codegen\_ gcc: implement more SIMD intrinsics] ( https://github.com/rust-lang/rustc_codegen_gcc/pull/172 )
100
+ * [ codegen\_ gcc: use the provided pointee type in ` <Builder as BuilderMethods>::load ` ] ( https://github.com/rust-lang/rustc_codegen_gcc/pull/170 )
101
+ * [ stabilize ` bool::then_some ` ] ( https://github.com/rust-lang/rust/pull/96628 )
102
+ * [ add a dedicated length-prefixing method to ` Hasher ` ] ( https://github.com/rust-lang/rust/pull/94598 )
103
+ * [ fix panic in ` Path::strip_prefix ` ] ( https://github.com/rust-lang/rust/pull/93675 )
104
+ * [ make ` sys::windows::os_str::Slice ` ` repr(transparent) ` ] ( https://github.com/rust-lang/rust/pull/96802 )
105
+ * [ futures: remove ` Fuse ` s from ` select ` , and only poll non-terminated streams] ( https://github.com/rust-lang/futures-rs/pull/2583 )
106
+ * [ hashbrown: remove third copy operation for ` RustcOccupiedEntry::insert ` ] ( https://github.com/rust-lang/hashbrown/pull/329 )
107
+ * [ cargo: extend pkgid syntax with ` @ ` support] ( https://github.com/rust-lang/cargo/pull/10582 )
108
+ * [ cargo: improve support of condition compilation checking] ( https://github.com/rust-lang/cargo/pull/10566 )
109
+ * [ cargo: when documenting private items in a binary, ignore warnings about links to private items] ( https://github.com/rust-lang/cargo/pull/10142 )
110
+ * [ rust-analyzer: remove handling of ` #[rustc_deprecated] ` ] ( https://github.com/rust-lang/rust-analyzer/pull/11983 )
111
+ * [ rust-analyzer: lower values of char and byte literals] ( https://github.com/rust-lang/rust-analyzer/pull/12157 )
112
+ * [ rust-analyzer: sort items by trait definition assist] ( https://github.com/rust-lang/rust-analyzer/pull/12142 )
113
+ * [ rust-analyzer: allow auto importing starting segments of use items] ( https://github.com/rust-lang/rust-analyzer/pull/12188 )
114
+ * [ rust-analyzer: don't show assoc. type binding completions when invalid] ( https://github.com/rust-lang/rust-analyzer/pull/12199 )
115
+ * [ rust-analyzer: fix import insertion inserting after last comment in a file] ( https://github.com/rust-lang/rust-analyzer/pull/12197 )
116
+ * [ rust-analyzer: fix panic when a macro passes a float token to another macro] ( https://github.com/rust-lang/rust-analyzer/pull/12178 )
117
+ * [ rust-analyzer: fix snippets triggering where they shouldn't] ( https://github.com/rust-lang/rust-analyzer/pull/12175 )
118
+ * [ rust-analyzer: remap float parts as integers when parsed as indices] ( https://github.com/rust-lang/rust-analyzer/pull/12185 )
119
+ * [ rust-analyzer: resolve assoc. types of supertraits in the IDE layer] ( https://github.com/rust-lang/rust-analyzer/pull/12198 )
120
+ * [ rust-analyzer: try not to invalidate state when the proc macro preference didn't change] ( https://github.com/rust-lang/rust-analyzer/pull/12171 )
121
+ * [ rust-analyzer: fix macro expansion with float tokens] ( https://github.com/rust-lang/rust-analyzer/pull/12177 )
122
+ * [ rust-analyzer: split float literal tokens at ` . ` to fix parsing of tuple field accesses] ( https://github.com/rust-lang/rust-analyzer/pull/12149 )
123
+ * [ clippy: address ` unnecessary_to_owned ` false positive] ( https://github.com/rust-lang/rust-clippy/pull/8794 )
124
+ * [ clippy: create lint against unexpectedly late drop for temporaries in match scrutinee expressions] ( https://github.com/rust-lang/rust/pull/94206 )
125
+ * [ clippy: fix ` cast_lossless ` to avoid warning on ` usize ` to ` f64 ` conversion] ( https://github.com/rust-lang/rust-clippy/pull/8778 )
126
+ * [ clippy: ignore type aliases in ` init_numbered_fields ` ] ( https://github.com/rust-lang/rust-clippy/pull/8780 )
127
+ * [ clippy: lint ` empty_lint_after_outer_attr ` on argumentless macros] ( https://github.com/rust-lang/rust-clippy/pull/8790 )
128
+ * [ clippy: move ` only_used_in_recursion ` to nursery] ( https://github.com/rust-lang/rust-clippy/pull/8783 )
129
+ * [ clippy: optionally allow ` expect ` and ` unwrap ` in tests] ( https://github.com/rust-lang/rust-clippy/pull/8802 )
130
+ * [ clippy: support negative ints in ` manual_range_contains ` ] ( https://github.com/rust-lang/rust-clippy/pull/8763 )
131
+ * [ clippy: ` identity_op ` false positive in front of if] ( https://github.com/rust-lang/rust-clippy/pull/8730 )
132
+ * [ rustfmt: fix ` wrap_comments ` breaking up type links] ( https://github.com/rust-lang/rustfmt/pull/5262 )
77
133
78
134
### Rust Compiler Performance Triage
79
135
@@ -84,7 +140,7 @@ If you are a Rust project owner and are looking for contributors, please submit
84
140
Changes to Rust follow the Rust [ RFC (request for comments) process] ( https://github.com/rust-lang/rfcs#rust-rfcs ) . These
85
141
are the RFCs that were approved for implementation this week:
86
142
87
- <!-- Approved RFCs go here -->
143
+ * * No RFCs were approved this week. *
88
144
89
145
### Final Comment Period
90
146
@@ -94,41 +150,36 @@ decision. Express your opinions now.
94
150
95
151
#### [ RFCs] ( https://github.com/rust-lang/rfcs/labels/final-comment-period )
96
152
153
+ * * No RFCs entered Final Comment Period this week.*
154
+
97
155
#### [ Tracking Issues & PRs] ( https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc )
98
156
157
+ * [ disposition: merge] [ Make RwLockReadGuard covariant] ( https://github.com/rust-lang/rust/pull/96820 )
158
+ * [ disposition: merge] [ Extend ptr::null and null_mut to all thin (including extern) types] ( https://github.com/rust-lang/rust/pull/94954 )
159
+ * [ disposition: merge] [ Modify MIR building to drop repeat expressions with length zero] ( https://github.com/rust-lang/rust/pull/95953 )
160
+ * [ disposition: merge] [ Tracking issue for explicit_generic_args_with_impl_trait] ( https://github.com/rust-lang/rust/issues/83701 )
161
+
99
162
### [ New and Updated RFCs] ( https://github.com/rust-lang/rfcs/pulls )
100
163
164
+ * [ new] [ RFC: Precise Pre-release Deps] ( https://github.com/rust-lang/rfcs/pull/3263 )
165
+ * [ new] [ Rolling co-lead roles for T-compiler] ( https://github.com/rust-lang/rfcs/pull/3262/files )
166
+ * [ new] [ RFC: extended_hrtbs] ( https://github.com/rust-lang/rfcs/pull/3261 )
167
+ * [ new] [ Deprecating UnwindSafe] ( https://github.com/rust-lang/rfcs/pull/3260 )
101
168
102
169
## Upcoming Events
103
170
104
171
Rusty Events between 2022-05-11 - 2022-06-08 🦀
105
172
106
173
### Virtual
107
174
108
- * 2022-05-04 | Indianapolis, IN, US | [ Indy Rust] ( https://www.meetup.com/indyrs/ )
109
- * [ ** Indy.rs - with Social Distancing** ] ( https://www.meetup.com/indyrs/events/285121667/ )
110
- * 2022-05-04 | Philadelphia, PA, US | [ Rust Philly (Rust Philadelphia)] ( https://www.meetup.com/RustPhilly/ )
111
- * [ ** Remote Book Club: Rust for Rustaceans Chapter Discussion** ] ( https://www.meetup.com/RustPhilly/events/285282177/ )
112
- * 2022-05-05 | Charlottesville, VA, US | [ Charlottesville Rust Meetup] ( https://www.meetup.com/Charlottesville-Rust-Meetup/ )
113
- * [ ** Dealing with failure: producing and consuming Errors in Rust** ] ( https://www.meetup.com/Charlottesville-Rust-Meetup/events/285078007/ )
114
- * 2022-05-09 | Philadelphia, PA, US | [ Rust Philly (Rust Philadelphia)] ( https://www.meetup.com/RustPhilly/ )
115
- * [ ** Mob Programming: Rome Tools** ] ( https://www.meetup.com/RustPhilly/events/kkbktsydchbmb/ )
116
- * 2022-05-10 | Berlin, DE | [ OpenTechSchool Berlin] ( https://www.meetup.com/opentechschool-berlin/ )
117
- * [ ** Rust Hack and Learn** ] ( https://www.meetup.com/opentechschool-berlin/events/284399988/ )
118
- * 2022-05-10 | Dallas, TX, US | [ Dallas Rust] ( https://www.meetup.com/Dallas-Rust/ )
119
- * [ ** Second Tuesday** ] ( https://www.meetup.com/Dallas-Rust/events/vqtjcsydchbnb/ )
120
- * 2022-05-10 | Rostock, DE | [ Altow Academy] ( https://www.meetup.com/altow-academy/ )
121
- * [ ** 7. Rust Meetup Rostock** ] ( https://www.meetup.com/altow-academy/events/283819127/ )
122
- * 2022-05-10 | Saarbrücken, DE | [ Rust-Saar] ( https://www.meetup.com/Rust-Saar/ )
123
- * [ ** Meetup: 21u16** ] ( https://www.meetup.com/Rust-Saar/events/285483060/ )
124
- * 2022-05-10 | Seattle, WA, US | [ Seattle Rust Meetup] ( https://www.meetup.com/Seattle-Rust-Meetup/ )
125
- * [ ** Monthly meetup** ] ( https://www.meetup.com/Seattle-Rust-Meetup/events/gskksrydchbnb/ )
126
175
* 2022-05-11 | Boulder, CO, US | [ Boulder Elixir and Rust] ( https://www.meetup.com/boulder-elixir-rust/ )
127
176
* [ ** Monthly Meetup** ] ( https://www.meetup.com/boulder-elixir-rust/events/zvxcsrydchbpb/ )
128
177
* 2022-05-11 | Malaysia, MY | [ Rust Malaysia Meetup] ( https://rust-malaysia.github.io/meetup/ )
129
178
* [ ** Rust Malaysia Meetup** ] ( https://forms.gle/Xe61Zebj6tY53HR7A )
130
179
* 2022-05-12 | Nürnberg, DE | [ Rust Nurnberg DE] ( https://www.meetup.com/rust-noris/ )
131
180
* [ ** Rust Nürnberg online** ] ( https://www.meetup.com/rust-noris/events/tzjtssydchbqb/ )
181
+ * 2022-05-12 | San Diego, CA, US | [ San Diego Rust] ( https://www.meetup.com/San-Diego-Rust/ )
182
+ * [ ** San Diego Rust May 2022 Tele-Meetup** ] ( https://www.meetup.com/San-Diego-Rust/events/285767149/ )
132
183
* 2022-05-12 | Stuttgart, DE | [ Rust Community Stuttgart] ( https://www.meetup.com/Rust-Community-Stuttgart/ )
133
184
* [ ** Rust-Meetup** ] ( https://www.meetup.com/Rust-Community-Stuttgart/events/swgrssydchbqb/ )
134
185
* 2022-05-17 | Washington, DC, US | [ Rust DC] ( https://www.meetup.com/RustDC/ )
@@ -147,29 +198,42 @@ Rusty Events between 2022-05-11 - 2022-06-08 🦀
147
198
* [ ** Indy.rs - with Social Distancing** ] ( https://www.meetup.com/indyrs/events/qwtdjsydcjbcb/ )
148
199
* 2022-06-01 | Philadelphia, PA, US | [ Rust Philly (Rust Philadelphia)] ( https://www.meetup.com/RustPhilly/ )
149
200
* [ ** Remote Book Club: Rust for Rustaceans Chapter Discussion** ] ( https://www.meetup.com/RustPhilly/events/qkbktsydcjbcb/ )
201
+ * 2022-06-07 | Buffalo, NY, US | [ Buffalo Rust Meetup] ( https://www.meetup.com/Buffalo-Rust-Meetup/ )
202
+ * [ ** Buffalo Rust User Group, First Tuesdays** ] ( https://www.meetup.com/Buffalo-Rust-Meetup/events/xgmfssydcjbkb/ )
203
+ * 2022-06-08 | Boulder, CO, US | [ Boulder Elixir and Rust] ( https://www.meetup.com/boulder-elixir-rust/ )
204
+ * [ ** Monthly Meetup** ] ( https://www.meetup.com/boulder-elixir-rust/events/zvxcsrydcjblb/ )
150
205
151
206
### North America
152
207
153
208
* 2022-05-11 | Atlanta, GA, US | [ Rust ATL] ( https://www.meetup.com/Rust-ATL/ )
154
209
* [ ** Grab a beer with fellow Rustaceans** ] ( https://www.meetup.com/Rust-ATL/events/pczdssydchbpb/ )
155
210
* 2022-05-12 | Columbus, OH, US | [ Columbus Rust Society] ( https://www.meetup.com/columbus-rs/ )
156
211
* [ ** Monthly Meeting** ] ( https://www.meetup.com/columbus-rs/events/dpkhgrydchbqb/ )
212
+ * 2022-05-17 | Austin, TX, US | [ Rust ATX] ( https://www.meetup.com/rust-atx/ )
213
+ * [ ** Rust Lunch** ] ( https://www.meetup.com/rust-atx/events/285680468/ )
157
214
* 2022-05-17 | San Francisco, CA, US | [ San Francisco Rust Study Group] ( https://www.meetup.com/san-francisco-rust-study-group/ )
158
215
* [ ** Rust Hacking in Person** ] ( https://www.meetup.com/san-francisco-rust-study-group/events/wjkjssydchbwb/ )
159
216
* 2022-05-24 | San Francisco, CA, US | [ Rust Bay Area] ( https://www.meetup.com/Rust-Bay-Area/ )
160
217
* [ ** (@ Google) What is soundness anyways?** ] ( https://www.meetup.com/Rust-Bay-Area/events/285563981/ )
218
+ * 2022-06-08 | Atlanta, GA, US | [ Rust ATL] ( https://www.meetup.com/Rust-ATL/ )
219
+ * [ ** Grab a beer with fellow Rustaceans** ] ( https://www.meetup.com/Rust-ATL/events/pczdssydcjblb/ )
161
220
162
221
### Europe
163
222
164
- * 2022-05-06 | Zurich, CH | [ Rust Zurich ] ( https://www.meetup.com/Rust-Zurich / )
165
- * [ ** Rust programming language in the high-performance computing environment ** ] ( https://www.meetup.com/Rust-Zurich /events/285457518 / )
166
- * 2022-05-09 | Helsinki, FI | [ Finland Rust Meetup ] ( https://www.meetup.com/Finland -Rust-Meetup / )
167
- * [ ** May meetup ** ] ( https://www.meetup.com/Finland -Rust-Meetup /events/285433622 / )
223
+ * 2022-05-17 | Stuttgart, DE | [ Rust Community Stuttgart ] ( https://www.meetup.com/Rust-Community-Stuttgart / )
224
+ * [ ** On Site Meetup ** ] ( https://www.meetup.com/Rust-Community-Stuttgart /events/285820373 / )
225
+ * 2022-05-18 | Stockholm, SE | [ Stockholm Rust] ( https://www.meetup.com/Stockholm -Rust/ )
226
+ * [ ** Rust Meetup @ AWS ** ] ( https://www.meetup.com/Stockholm -Rust/events/285701456 / )
168
227
* 2022-05-19 & 05-20 | Berlin, DE | [ Entwickler.de] ( https://entwickler.de/ )
169
228
* [ ** Rust Summit (paid)** ] ( https://entwickler.de/rust-summit )
170
- * 2022-05-24 | Amsterdam, NL | [ Rust Developers Amsterdam Group] ( https://www.meetup.com/rust-amsterdam-group/ )]
229
+ * 2022-05-24 | Amsterdam, NL | [ Rust Developers Amsterdam Group] ( https://www.meetup.com/rust-amsterdam-group/ )
171
230
* [ ** Rust Developer Meetup: Lightning Talks @ Fiberplane** ] ( https://www.meetup.com/rust-amsterdam-group/events/285291653/ )
172
231
232
+ ### Oceania
233
+
234
+ * 2022-05-26 | Brisbane City, QL | [ Rust Brisbane] ( https://www.meetup.com/Rust-Brisbane/ )
235
+ * [ ** May Meetup** ] ( https://www.meetup.com/Rust-Brisbane/events/285665676/ )
236
+
173
237
If you are running a Rust event please add it to the [ calendar] to get
174
238
it mentioned here. Please remember to add a link to the event too.
175
239
Email the [ Rust Community Team] [ community ] for access.
@@ -191,11 +255,29 @@ They should be of the form:
191
255
192
256
-->
193
257
258
+ ** Quickwit**
259
+
260
+ * [ Senior Software Engineer, Rust & distributed systems (Remote, European/Asian time zones)] ( https://quickwit.io/jobs/distributed-software-engineer )
261
+
262
+ ** Timescale**
263
+
264
+ * [ Senior Rust Engineer - TimescaleDB Toolkit (Remote: UTC-5 to UTC-8)] ( https://www.timescale.com/careers/5920911002?gh_jid=5920911002 )
265
+
266
+ ** Tempus Ex**
267
+
268
+ * [ Several full-time Rust positions available (San Francisco, CA, US, Atlanta, GA, US, Austin, TX, US, and Remote)] ( https://tempus-ex.com/careers )
269
+
194
270
* Tweet us at [ @ThisWeekInRust ] ( https://twitter.com/ThisWeekInRust ) to get your job offers listed here!*
195
271
196
272
# Quote of the Week
197
273
198
- <!-- QOTW goes here -->
274
+ > At Cloudflare we have big Rust projects/teams and onboard new developers regularly.
275
+ >
276
+ > There is a learning curve. Rust is rigid and unforgiving, and noobs need assistance when the compiler says “no” (although error messages and Clippy do a good job for common mistakes).
277
+ >
278
+ > However, the big upside is that noobs can contribute safely to Rust projects. Rust limits severity of the damage an inexperienced programmer can cause. Once they manage to get the code to compile, it already has lots of correctness guarantees. “Bad” Rust code may just clone more than strictly necessary, or write 10 lines of code for something that has a helper method in the stdlib, but it won’t corrupt memory or blindly run the happy path without checking for errors. Rust prefers to be locally explicit, so it’s also easy to review.
279
+
280
+ – [ Kornel.Lesiński on lobste.rs] ( https://lobste.rs/s/ksj3ii/rust_is_hard_yes_does_it_matter )
199
281
200
282
[ Please submit quotes and vote for next week!] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328 )
201
283
0 commit comments