Skip to content

Commit aaff9ff

Browse files
authored
Merge pull request #1936 from llogiq/twir-386
C/QotW + notable changes
2 parents eb0f933 + 3339b92 commit aaff9ff

File tree

1 file changed

+55
-45
lines changed

1 file changed

+55
-45
lines changed

draft/2021-04-14-this-week-in-rust.md

Lines changed: 55 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ No papers/research projects this week.
3333

3434
# Crate of the Week
3535

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.
3737

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.
3939

4040
[Submit your suggestions and votes for next week][submit_crate]!
4141

@@ -54,48 +54,42 @@ If you are a Rust project owner and are looking for contributors, please submit
5454

5555
# Updates from Rust Core
5656

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)
9993

10094
## Rust Compiler Performance Triage
10195

@@ -185,7 +179,23 @@ Email the [Rust Community Team][community] for access.
185179

186180
# Quote of the Week
187181

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!
189199
190200
[Please submit quotes and vote for next week!](https://users.rust-lang.org/t/twir-quote-of-the-week/328)
191201

0 commit comments

Comments
 (0)