Skip to content

Commit 0f87798

Browse files
authored
Merge pull request #3284 from llogiq/twir-444
C/QotW + notable changes
2 parents 00e00e8 + 7636678 commit 0f87798

File tree

1 file changed

+58
-3
lines changed

1 file changed

+58
-3
lines changed

draft/2022-05-25-this-week-in-rust.md

Lines changed: 58 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,9 @@ and just ask the editors to select the category.
7171

7272
## Crate of the Week
7373

74-
<!-- COTW goes here -->
74+
This week's crate is [rustdoc-types](https://docs.rs/rustdoc-types), a crate with types to deserialize Rustdoc's JSON output.
75+
76+
Thanks to [Nixon Enraght-Moony](https://users.rust-lang.org/t/crate-of-the-week/2704/1061) for the self-ish suggestion.
7577

7678
[Please submit your suggestions and votes for next week][submit_crate]!
7779

@@ -90,7 +92,56 @@ If you are a Rust project owner and are looking for contributors, please submit
9092

9193
## Updates from the Rust Project
9294

93-
<!-- Rust updates go here -->
95+
363 pull requests were [merged in the last week][merged]
96+
97+
[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2022-05-16..2022-05-23
98+
99+
* [recover when resolution did not resolve lifetimes](https://github.com/rust-lang/rust/pull/97236)
100+
* [add new lint to enforce whitespace after keywords](https://github.com/rust-lang/rust/pull/97179)
101+
* [lint single-use lifetimes during AST resolution](https://github.com/rust-lang/rust/pull/96833)
102+
* [fix misleading "cannot infer type for type parameter" error](https://github.com/rust-lang/rust/pull/97109)
103+
* [improve `u32 as char` cast diagnostic](https://github.com/rust-lang/rust/pull/97169)
104+
* [suggest dereferencing non-lval mutable reference on assignment](https://github.com/rust-lang/rust/pull/94639)
105+
* [add a query for checking whether a function is an intrinsic](https://github.com/rust-lang/rust/pull/97012)
106+
* [types with reachable constructors are reachable](https://github.com/rust-lang/rust/pull/97096)
107+
* [miri: adjust diagnostics assertion so we don't ICE in setup](https://github.com/rust-lang/miri/pull/2141)
108+
* [miri: initial work on Miri permissive-exposed-provenance](https://github.com/rust-lang/miri/pull/2059)
109+
* [miri: make `allow_data_races_*` public and use it during `EnvVars::cleanup`](https://github.com/rust-lang/miri/pull/2142)
110+
* [remove quadratic behaviour from `-Zunpretty=hir-tree`](https://github.com/rust-lang/rust/pull/97223)
111+
* [clean up derived obligation creation](https://github.com/rust-lang/rust/pull/96892)
112+
* [correctly deal with user type ascriptions in pat](https://github.com/rust-lang/rust/pull/96515)
113+
* [rustc\_parse: move AST -> `TokenStream` conversion logic to `rustc_ast`](https://github.com/rust-lang/rust/pull/97251)
114+
* [stabilize `Ipv6Addr::to_ipv4_mapped`](https://github.com/rust-lang/rust/pull/96906)
115+
* [stabilize `array_from_fn`](https://github.com/rust-lang/rust/pull/94119)
116+
* [add convenience byte offset/check align functions to pointers](https://github.com/rust-lang/rust/pull/95643)
117+
* [add functions to un-poison `Mutex` and `RwLock`](https://github.com/rust-lang/rust/pull/96422)
118+
* [improve codegen of `String::retain` method](https://github.com/rust-lang/rust/pull/96605)
119+
* [change `NonNull::as_uninit_*` to take self by value (as opposed to reference), matching primitive pointers](https://github.com/rust-lang/rust/pull/96100)
120+
* [remove unneeded null pointer asserts in `ptr2int` casts](https://github.com/rust-lang/rust/pull/97188)
121+
* [make `ptr::invalid` not the same as a regular `int2ptr` cast](https://github.com/rust-lang/rust/pull/97219)
122+
* [use pointers in `cell::{Ref,RefMut}` to avoid `noalias`](https://github.com/rust-lang/rust/pull/97027)
123+
* [portable SIMD: add `Mask::cast`](https://github.com/rust-lang/portable-simd/pull/251)
124+
* [backtrace: make Miri backtraces work with `#[global_allocator]`](https://github.com/rust-lang/backtrace-rs/pull/462)
125+
* [hashbrown: add function for getting access to map `table: RawTable<(K, V), A>` field](https://github.com/rust-lang/hashbrown/pull/335)
126+
* [cargo: add unstable `rustc-check-cfg` build script output](https://github.com/rust-lang/cargo/pull/10539)
127+
* [cargo: restore proper error for crate not in local reg](https://github.com/rust-lang/cargo/pull/10683)
128+
* [rustdoc: reduce `clean::Type` size](https://github.com/rust-lang/rust/pull/93963)
129+
* [rustdoc: resolve some more doc links early 2](https://github.com/rust-lang/rust/pull/96713)
130+
* [rustfmt: import_granularity: Don't normalize imports with comments](https://github.com/rust-lang/rustfmt/pull/5311)
131+
* [clippy: fix `cmp_owned` on copy types](https://github.com/rust-lang/rust-clippy/pull/8807)
132+
* [clippy: improve "unknown field" error messages](https://github.com/rust-lang/rust-clippy/pull/8823)
133+
* [clippy: lint indirect usages in `disallowed_methods`](https://github.com/rust-lang/rust-clippy/pull/8852)
134+
* [clippy: `dbg_macro` tolerates use of `dbg!` in test items](https://github.com/rust-lang/rust-clippy/pull/8838)
135+
* [clippy: add suggestions to `rc_clone_in_vec_init`](https://github.com/rust-lang/rust-clippy/pull/8814)
136+
* [rust-analyzer: fix inference when pattern matching a tuple field with a wildcard](https://github.com/rust-lang/rust-analyzer/pull/12355)
137+
* [rust-analyzer: generate enum variant assist](https://github.com/rust-lang/rust-analyzer/pull/12334)
138+
* [rust-analyzer: add "cargo clippy" task preset](https://github.com/rust-lang/rust-analyzer/pull/12326)
139+
* [rust-analyzer: implement inlay hint tooltips](https://github.com/rust-lang/rust-analyzer/pull/12285)
140+
* [rust-analyzer: improve docs generation assist](https://github.com/rust-lang/rust-analyzer/pull/12303)
141+
* [rust-analyzer: add a "Add attribute" assist](https://github.com/rust-lang/rust-analyzer/pull/12296)
142+
* [rust-analyzer: don't swallow build script errors](https://github.com/rust-lang/rust-analyzer/pull/12329)
143+
* [rust-analyzer: fix broken async callback in join lines](https://github.com/rust-lang/rust-analyzer/pull/12342)
144+
* [rustup: don't send logging to stdout](https://github.com/rust-lang/rustup/pull/2985)
94145

95146
### Rust Compiler Performance Triage
96147

@@ -257,7 +308,11 @@ They should be of the form:
257308

258309
# Quote of the Week
259310

260-
<!-- QOTW goes here -->
311+
> This is the difference in approaches of the two languages. In C++ if the code is vulnerable, the blame is on the programmer. In Rust if the code is vulnerable, Rust considers it a failure of the language, and takes responsibility to stop even “bad” programmers from writing vulnerable code. I can’t stress enough how awesome it is that I can be a careless fool, and still write perfectly robust highly multi-threaded code that never crashes.
312+
313+
[kornel on lobste.rs](https://lobste.rs/s/wiavtb/rust_critical_retrospective#c_jkfhpb) (with a [caveat from ZiCog](https://users.rust-lang.org/t/twir-quote-of-the-week/328/1244) that Rust does *not* guarantee freedom from all vulnerabilities!)
314+
315+
Thanks to [Brian Kung](https://users.rust-lang.org/t/twir-quote-of-the-week/328/1243) for the suggestion!
261316

262317
[Please submit quotes and vote for next week!](https://users.rust-lang.org/t/twir-quote-of-the-week/328)
263318

0 commit comments

Comments
 (0)