Skip to content

Commit 3339b92

Browse files
committed
C/QotW + notable changes
1 parent b275b48 commit 3339b92

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
@@ -71,9 +71,9 @@ No papers/research projects this week.
7171

7272
# Crate of the Week
7373

74-
This week's crate is [rs-pbrt](https://crates.io/crates/rs_pbrt), a counterpart to the PBRT book's (3rd edition) C++ code.
74+
This week's crate is [dipa](https://docs.rs/dipa), a crate to derive delta-encoding for Rust data structures.
7575

76-
Thanks to [Jan Walter](https://users.rust-lang.org/t/crate-of-the-week/2704/900) for the suggestion!
76+
Despite a lack of nominations, llogiq is very pleased with his choice.
7777

7878
[Submit your suggestions and votes for next week][submit_crate]!
7979

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

9595
# Updates from Rust Core
9696

97-
313 pull requests were [merged in the last week][merged]
98-
99-
[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2021-03-29..2021-04-05
100-
101-
* [fix stack overflow detection on FreeBSD 11.1+](https://github.com/rust-lang/rust/pull/83771)
102-
* [disallow the use of high byte registes as operands on `x86_64`](https://github.com/rust-lang/rust/pull/83853)
103-
* [resolve/expand: cache intermediate results of `#[derive]` expansion](https://github.com/rust-lang/rust/pull/82907)
104-
* [panic early when `TrustedLen` indicates a `length > usize::MAX`](https://github.com/rust-lang/rust/pull/83726)
105-
* [suggest `box`/`pin`/`arc`ing receiver on method calls](https://github.com/rust-lang/rust/pull/83667)
106-
* [run LLVM coverage instrumentation passes before optimization passes](https://github.com/rust-lang/rust/pull/83666)
107-
* [simplify logical operations CFG](https://github.com/rust-lang/rust/pull/83663)
108-
* [remove unneeded type resolving](https://github.com/rust-lang/rust/pull/83839)
109-
* [unaligned_references: `align(N)` fields in `packed(N)` structs are fine](https://github.com/rust-lang/rust/pull/83605)
110-
* [prevent very long compilation runtimes in `LateBoundRegionNameCollector`](https://github.com/rust-lang/rust/pull/83406)
111-
* [reduce the impact of `Vec::reserve` calls that do not cause any allocation](https://github.com/rust-lang/rust/pull/83357)
112-
* [BTree: no longer search arrays twice to check `Ord`](https://github.com/rust-lang/rust/pull/83267)
113-
* [stream the dep-graph to a file instead of storing it in-memory](https://github.com/rust-lang/rust/pull/82780)
114-
* [implement `SourceIterator` and `InPlaceIterable` for `ResultShunt`](https://github.com/rust-lang/rust/pull/81619)
115-
* [optimize jumps in `PartialOrd::le`](https://github.com/rust-lang/rust/pull/83819)
116-
* [`ffi::c_str` removed bound checks on `as_bytes`, `to_bytes`](https://github.com/rust-lang/rust/pull/83609)
117-
* [added `as_slice` method to `BinaryHeap` collection](https://github.com/rust-lang/rust/pull/82331)
118-
* [use `#[inline(always)]` on trivial `UnsafeCell` methods](https://github.com/rust-lang/rust/pull/83858)
119-
* [add `#[inline]` to `IpAddr` methods](https://github.com/rust-lang/rust/pull/83831)
120-
* [disallow octal format in Ipv4 string](https://github.com/rust-lang/rust/pull/83652)
121-
* [constify methods of `std::net::SocketAddr`, `SocketAddrV4` and `SocketAddrV6`](https://github.com/rust-lang/rust/pull/82487)
122-
* [constify some slice methods](https://github.com/rust-lang/rust/pull/83571)
123-
* [stdsimd: add saturating abs/neg](https://github.com/rust-lang/stdsimd/pull/87)
124-
* [hashbrown: make `RawTable::insert_no_grow` unsafe](https://github.com/rust-lang/hashbrown/pull/254)
125-
* [cargo: add cargo config subcommand](https://github.com/rust-lang/cargo/pull/9302)
126-
* [rustdoc: only look at blanket impls in `get_blanket_impls`](https://github.com/rust-lang/rust/pull/83681)
127-
* [rustdoc: add unstable option to only emit shared/crate-specific files](https://github.com/rust-lang/rust/pull/83478)
128-
* [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)
129-
* [rustdoc: highlight macros more efficiently](https://github.com/rust-lang/rust/pull/83793)
130-
* [clippy: add `non_octal_unix_permissions` lint](https://github.com/rust-lang/rust-clippy/pull/7001)
131-
* [clippy: don't lint `manual_map` in const functions](https://github.com/rust-lang/rust-clippy/pull/6976)
132-
* [clippy: new Lint: `needless_for_each`](https://github.com/rust-lang/rust-clippy/pull/6706)
133-
* [clippy: new Lint: `branches_sharing_code`](https://github.com/rust-lang/rust-clippy/pull/6463)
134-
* [clippy: lint: `filter(Option::is_some).map(Option::unwrap)`](https://github.com/rust-lang/rust-clippy/pull/6342)
135-
* [clippy: remove author requirement for `cargo_common_metadata`](https://github.com/rust-lang/rust-clippy/pull/7026)
136-
* [Clippy going dark: adding a dark theme to Clippy's lint list](https://github.com/rust-lang/rust-clippy/pull/7030)
137-
* [crates.io: topologically sort `db-dump.tar.gz`](https://github.com/rust-lang/crates.io/pull/3409)
138-
* [parallelize tidy](https://github.com/rust-lang/rust/pull/82347)
97+
329 pull requests were [merged in the last week][merged]
98+
99+
[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2021-04-05..2021-04-12
100+
101+
* [allow specifying alignment for functions](https://github.com/rust-lang/rust/pull/81234)
102+
* [fix handling of `--output-format json` flag](https://github.com/rust-lang/rust/pull/82497)
103+
* [don't tell users to use a nightly flag on the stable channel](https://github.com/rust-lang/rust/pull/84055)
104+
* [improve trait/impl method discrepancy errors](https://github.com/rust-lang/rust/pull/84014)
105+
* [account for `ExprKind::Block` when suggesting .into() and deref](https://github.com/rust-lang/rust/pull/83952)
106+
* [let `#[allow(unstable_name_collisions)]` work for things other than function](https://github.com/rust-lang/rust/pull/81922)
107+
* [add `bad_asm_style` to `HardwiredLints`](https://github.com/rust-lang/rust/pull/84068)
108+
* [improve debuginfo for closures and async functions on Windows MSVC](https://github.com/rust-lang/rust/pull/83941)
109+
* [use `AnonConst` for `asm!` constants](https://github.com/rust-lang/rust/pull/83916)
110+
* [add `FromIterator` and `IntoIterator` impls for `ThinVec`](https://github.com/rust-lang/rust/pull/83821)
111+
* [add `strong_count` mutation methods to `Rc`](https://github.com/rust-lang/rust/pull/83476)
112+
* [use a `SmallVec` in `impl_or_trait_item`](https://github.com/rust-lang/rust/pull/83932)
113+
* [use `FromStr` trait for number option parsing](https://github.com/rust-lang/rust/pull/82483)
114+
* [reduce threads spawned by ui-tests](https://github.com/rust-lang/rust/pull/81942)
115+
* [core: disable `ptr::swap_nonoverlapping_one`'s block optimization on SPIR-V](https://github.com/rust-lang/rust/pull/83019)
116+
* [stabilize `cmp_min_max_by`](https://github.com/rust-lang/rust/pull/81047)
117+
* [stabilize `peekable_peek_mut`](https://github.com/rust-lang/rust/pull/81938)
118+
* [stabilize `duration_saturating_ops`](https://github.com/rust-lang/rust/pull/84090)
119+
* [stabilize `atomic_fetch_update` methods on `AtomicBool` and `AtomicPtr`](https://github.com/rust-lang/rust/pull/84085)
120+
* [fix `HashMap`/`HashSet` LLDB pretty-printer after hashbrown](https://github.com/rust-lang/rust/pull/83920)
121+
* [futures: move `try_fold`, `try_for_each`, and `try_for_each_concurrent` to `StreamExt`](https://github.com/rust-lang/futures-rs/pull/2342)
122+
* [futures: add `stream::Peekable::`{`next_if`, `next_if_eq`}](https://github.com/rust-lang/futures-rs/pull/2379)
123+
* [fix perf regression in `rustdoc::bare_urls`](https://github.com/rust-lang/rust/pull/84034)
124+
* [rustdoc: cleanup handling of associated items for intra-doc links](https://github.com/rust-lang/rust/pull/83849)
125+
* [rustdoc: sort search index items for compression](https://github.com/rust-lang/rust/pull/83835)
126+
* [rustdoc: store intra-doc links in Cache instead of on items directly](https://github.com/rust-lang/rust/pull/83833)
127+
* [rustdoc: use `ThinVec` in a few places](https://github.com/rust-lang/rust/pull/83828)
128+
* [rustdoc: merge idents when generating source content](https://github.com/rust-lang/rust/pull/83992)
129+
* [clippy: fix false positive in `single_component_path_imports` lint](https://github.com/rust-lang/rust-clippy/pull/6905)
130+
* [clippy: fix `explicit_into_iter_loop`](https://github.com/rust-lang/rust-clippy/pull/6982)
131+
* [clippy: consider mutability on `useless_vec` suggestions](https://github.com/rust-lang/rust-clippy/pull/7036)
132+
* [clippy: fix `missing_panics_doc` not detecting `assert_eq!` and `assert_ne!`](https://github.com/rust-lang/rust-clippy/pull/7029)
139133

140134
## Rust Compiler Performance Triage
141135

@@ -240,7 +234,23 @@ Email the [Rust Community Team][community] for access.
240234

241235
# Quote of the Week
242236

243-
Sadly there was no quote nominated for this week.
237+
> What I actually value on a daily basis in \[rust is\]
238+
> I can call code written by other people without unpleasant surprises.
239+
>
240+
> ```
241+
> async fn verify_signature(token: &Jwt) -> Result<Claims, VerificationError>
242+
> ```
243+
>
244+
> Looking at a code snippet:
245+
>
246+
> * I know my JWT token won't be mutated, just accessed ( `&` );
247+
> * I know the function will probably perform some kind of I/O ( `async` );
248+
> * I know that the function might fail ( `Result` );
249+
> * I know its failure modes ( `VerificationError` ).
250+
251+
– [Luca Palmieri on Twitter](https://twitter.com/algo_luca/status/1380928103019597827)
252+
253+
Thanks to [Nixon Enraght-Moony](https://users.rust-lang.org/t/twir-quote-of-the-week/328/1031) for the suggestion!
244254
245255
[Please submit quotes and vote for next week!](https://users.rust-lang.org/t/twir-quote-of-the-week/328)
246256

0 commit comments

Comments
 (0)