@@ -33,9 +33,9 @@ No papers/research projects this week.
33
33
34
34
# Crate of the Week
35
35
36
- This week's crate is [ rs-pbrt ] ( https://crates.io/crates/rs_pbrt ) , a counterpart to the PBRT book's (3rd edition) C++ code .
36
+ This week's crate is [ dipa ] ( https://docs.rs/dipa ) , a crate to derive delta-encoding for Rust data structures .
37
37
38
- Thanks to [ Jan Walter ] ( https://users.rust-lang.org/t/crate-of-the-week/2704/900 ) for the suggestion!
38
+ Despite a lack of nominations, llogiq is very pleased with his choice.
39
39
40
40
[ Submit your suggestions and votes for next week] [ submit_crate ] !
41
41
@@ -54,48 +54,42 @@ If you are a Rust project owner and are looking for contributors, please submit
54
54
55
55
# Updates from Rust Core
56
56
57
- 313 pull requests were [ merged in the last week] [ merged ]
58
-
59
- [ merged ] : https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2021-03-29..2021-04-05
60
-
61
- * [ fix stack overflow detection on FreeBSD 11.1+] ( https://github.com/rust-lang/rust/pull/83771 )
62
- * [ disallow the use of high byte registes as operands on ` x86_64 ` ] ( https://github.com/rust-lang/rust/pull/83853 )
63
- * [ resolve/expand: cache intermediate results of ` #[derive] ` expansion] ( https://github.com/rust-lang/rust/pull/82907 )
64
- * [ panic early when ` TrustedLen ` indicates a ` length > usize::MAX ` ] ( https://github.com/rust-lang/rust/pull/83726 )
65
- * [ suggest ` box ` /` pin ` /` arc ` ing receiver on method calls] ( https://github.com/rust-lang/rust/pull/83667 )
66
- * [ run LLVM coverage instrumentation passes before optimization passes] ( https://github.com/rust-lang/rust/pull/83666 )
67
- * [ simplify logical operations CFG] ( https://github.com/rust-lang/rust/pull/83663 )
68
- * [ remove unneeded type resolving] ( https://github.com/rust-lang/rust/pull/83839 )
69
- * [ unaligned_references: ` align(N) ` fields in ` packed(N) ` structs are fine] ( https://github.com/rust-lang/rust/pull/83605 )
70
- * [ prevent very long compilation runtimes in ` LateBoundRegionNameCollector ` ] ( https://github.com/rust-lang/rust/pull/83406 )
71
- * [ reduce the impact of ` Vec::reserve ` calls that do not cause any allocation] ( https://github.com/rust-lang/rust/pull/83357 )
72
- * [ BTree: no longer search arrays twice to check ` Ord ` ] ( https://github.com/rust-lang/rust/pull/83267 )
73
- * [ stream the dep-graph to a file instead of storing it in-memory] ( https://github.com/rust-lang/rust/pull/82780 )
74
- * [ implement ` SourceIterator ` and ` InPlaceIterable ` for ` ResultShunt ` ] ( https://github.com/rust-lang/rust/pull/81619 )
75
- * [ optimize jumps in ` PartialOrd::le ` ] ( https://github.com/rust-lang/rust/pull/83819 )
76
- * [ ` ffi::c_str ` removed bound checks on ` as_bytes ` , ` to_bytes ` ] ( https://github.com/rust-lang/rust/pull/83609 )
77
- * [ added ` as_slice ` method to ` BinaryHeap ` collection] ( https://github.com/rust-lang/rust/pull/82331 )
78
- * [ use ` #[inline(always)] ` on trivial ` UnsafeCell ` methods] ( https://github.com/rust-lang/rust/pull/83858 )
79
- * [ add ` #[inline] ` to ` IpAddr ` methods] ( https://github.com/rust-lang/rust/pull/83831 )
80
- * [ disallow octal format in Ipv4 string] ( https://github.com/rust-lang/rust/pull/83652 )
81
- * [ constify methods of ` std::net::SocketAddr ` , ` SocketAddrV4 ` and ` SocketAddrV6 ` ] ( https://github.com/rust-lang/rust/pull/82487 )
82
- * [ constify some slice methods] ( https://github.com/rust-lang/rust/pull/83571 )
83
- * [ stdsimd: add saturating abs/neg] ( https://github.com/rust-lang/stdsimd/pull/87 )
84
- * [ hashbrown: make ` RawTable::insert_no_grow ` unsafe] ( https://github.com/rust-lang/hashbrown/pull/254 )
85
- * [ cargo: add cargo config subcommand] ( https://github.com/rust-lang/cargo/pull/9302 )
86
- * [ rustdoc: only look at blanket impls in ` get_blanket_impls ` ] ( https://github.com/rust-lang/rust/pull/83681 )
87
- * [ rustdoc: add unstable option to only emit shared/crate-specific files] ( https://github.com/rust-lang/rust/pull/83478 )
88
- * [ rustdoc: don't enter an ` infer_ctxt ` in ` get_blanket_impls ` for impls that aren't blanket impls] ( https://github.com/rust-lang/rust/pull/82864 )
89
- * [ rustdoc: highlight macros more efficiently] ( https://github.com/rust-lang/rust/pull/83793 )
90
- * [ clippy: add ` non_octal_unix_permissions ` lint] ( https://github.com/rust-lang/rust-clippy/pull/7001 )
91
- * [ clippy: don't lint ` manual_map ` in const functions] ( https://github.com/rust-lang/rust-clippy/pull/6976 )
92
- * [ clippy: new Lint: ` needless_for_each ` ] ( https://github.com/rust-lang/rust-clippy/pull/6706 )
93
- * [ clippy: new Lint: ` branches_sharing_code ` ] ( https://github.com/rust-lang/rust-clippy/pull/6463 )
94
- * [ clippy: lint: ` filter(Option::is_some).map(Option::unwrap) ` ] ( https://github.com/rust-lang/rust-clippy/pull/6342 )
95
- * [ clippy: remove author requirement for ` cargo_common_metadata ` ] ( https://github.com/rust-lang/rust-clippy/pull/7026 )
96
- * [ Clippy going dark: adding a dark theme to Clippy's lint list] ( https://github.com/rust-lang/rust-clippy/pull/7030 )
97
- * [ crates.io: topologically sort ` db-dump.tar.gz ` ] ( https://github.com/rust-lang/crates.io/pull/3409 )
98
- * [ parallelize tidy] ( https://github.com/rust-lang/rust/pull/82347 )
57
+ 329 pull requests were [ merged in the last week] [ merged ]
58
+
59
+ [ merged ] : https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2021-04-05..2021-04-12
60
+
61
+ * [ allow specifying alignment for functions] ( https://github.com/rust-lang/rust/pull/81234 )
62
+ * [ fix handling of ` --output-format json ` flag] ( https://github.com/rust-lang/rust/pull/82497 )
63
+ * [ don't tell users to use a nightly flag on the stable channel] ( https://github.com/rust-lang/rust/pull/84055 )
64
+ * [ improve trait/impl method discrepancy errors] ( https://github.com/rust-lang/rust/pull/84014 )
65
+ * [ account for ` ExprKind::Block ` when suggesting .into() and deref] ( https://github.com/rust-lang/rust/pull/83952 )
66
+ * [ let ` #[allow(unstable_name_collisions)] ` work for things other than function] ( https://github.com/rust-lang/rust/pull/81922 )
67
+ * [ add ` bad_asm_style ` to ` HardwiredLints ` ] ( https://github.com/rust-lang/rust/pull/84068 )
68
+ * [ improve debuginfo for closures and async functions on Windows MSVC] ( https://github.com/rust-lang/rust/pull/83941 )
69
+ * [ use ` AnonConst ` for ` asm! ` constants] ( https://github.com/rust-lang/rust/pull/83916 )
70
+ * [ add ` FromIterator ` and ` IntoIterator ` impls for ` ThinVec ` ] ( https://github.com/rust-lang/rust/pull/83821 )
71
+ * [ add ` strong_count ` mutation methods to ` Rc ` ] ( https://github.com/rust-lang/rust/pull/83476 )
72
+ * [ use a ` SmallVec ` in ` impl_or_trait_item ` ] ( https://github.com/rust-lang/rust/pull/83932 )
73
+ * [ use ` FromStr ` trait for number option parsing] ( https://github.com/rust-lang/rust/pull/82483 )
74
+ * [ reduce threads spawned by ui-tests] ( https://github.com/rust-lang/rust/pull/81942 )
75
+ * [ core: disable ` ptr::swap_nonoverlapping_one ` 's block optimization on SPIR-V] ( https://github.com/rust-lang/rust/pull/83019 )
76
+ * [ stabilize ` cmp_min_max_by ` ] ( https://github.com/rust-lang/rust/pull/81047 )
77
+ * [ stabilize ` peekable_peek_mut ` ] ( https://github.com/rust-lang/rust/pull/81938 )
78
+ * [ stabilize ` duration_saturating_ops ` ] ( https://github.com/rust-lang/rust/pull/84090 )
79
+ * [ stabilize ` atomic_fetch_update ` methods on ` AtomicBool ` and ` AtomicPtr ` ] ( https://github.com/rust-lang/rust/pull/84085 )
80
+ * [ fix ` HashMap ` /` HashSet ` LLDB pretty-printer after hashbrown] ( https://github.com/rust-lang/rust/pull/83920 )
81
+ * [ futures: move ` try_fold ` , ` try_for_each ` , and ` try_for_each_concurrent ` to ` StreamExt ` ] ( https://github.com/rust-lang/futures-rs/pull/2342 )
82
+ * [ futures: add ` stream::Peekable:: ` {` next_if ` , ` next_if_eq ` }] ( https://github.com/rust-lang/futures-rs/pull/2379 )
83
+ * [ fix perf regression in ` rustdoc::bare_urls ` ] ( https://github.com/rust-lang/rust/pull/84034 )
84
+ * [ rustdoc: cleanup handling of associated items for intra-doc links] ( https://github.com/rust-lang/rust/pull/83849 )
85
+ * [ rustdoc: sort search index items for compression] ( https://github.com/rust-lang/rust/pull/83835 )
86
+ * [ rustdoc: store intra-doc links in Cache instead of on items directly] ( https://github.com/rust-lang/rust/pull/83833 )
87
+ * [ rustdoc: use ` ThinVec ` in a few places] ( https://github.com/rust-lang/rust/pull/83828 )
88
+ * [ rustdoc: merge idents when generating source content] ( https://github.com/rust-lang/rust/pull/83992 )
89
+ * [ clippy: fix false positive in ` single_component_path_imports ` lint] ( https://github.com/rust-lang/rust-clippy/pull/6905 )
90
+ * [ clippy: fix ` explicit_into_iter_loop ` ] ( https://github.com/rust-lang/rust-clippy/pull/6982 )
91
+ * [ clippy: consider mutability on ` useless_vec ` suggestions] ( https://github.com/rust-lang/rust-clippy/pull/7036 )
92
+ * [ clippy: fix ` missing_panics_doc ` not detecting ` assert_eq! ` and ` assert_ne! ` ] ( https://github.com/rust-lang/rust-clippy/pull/7029 )
99
93
100
94
## Rust Compiler Performance Triage
101
95
@@ -185,7 +179,23 @@ Email the [Rust Community Team][community] for access.
185
179
186
180
# Quote of the Week
187
181
188
- Sadly there was no quote nominated for this week.
182
+ > What I actually value on a daily basis in \[ rust is\]
183
+ > I can call code written by other people without unpleasant surprises.
184
+ >
185
+ > ```
186
+ > async fn verify_signature(token: &Jwt) -> Result<Claims, VerificationError>
187
+ > ```
188
+ >
189
+ > Looking at a code snippet:
190
+ >
191
+ > * I know my JWT token won't be mutated, just accessed ( `&` );
192
+ > * I know the function will probably perform some kind of I/O ( `async` );
193
+ > * I know that the function might fail ( `Result` );
194
+ > * I know its failure modes ( `VerificationError` ).
195
+
196
+ – [Luca Palmieri on Twitter](https://twitter.com/algo_luca/status/1380928103019597827)
197
+
198
+ Thanks to [Nixon Enraght-Moony](https://users.rust-lang.org/t/twir-quote-of-the-week/328/1031) for the suggestion!
189
199
190
200
[Please submit quotes and vote for next week!](https://users.rust-lang.org/t/twir-quote-of-the-week/328)
191
201
0 commit comments