Skip to content

Commit 72ce598

Browse files
committed
C/QotW and notable changes
1 parent 7236386 commit 72ce598

File tree

1 file changed

+78
-3
lines changed

1 file changed

+78
-3
lines changed

draft/2023-03-22-this-week-in-rust.md

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

4646
## Crate of the Week
4747

48-
<!-- COTW goes here -->
48+
This week's crate is [Speedy2D](https://github.com/QuantumBadger/Speedy2D), a crate offering cross-platform Hardware-accelerated drawing of shapes, images, and text, with an easy to use API.
49+
50+
Thanks to [Aleksey Kladov](https://users.rust-lang.org/t/crate-of-the-week/2704/1169) for the suggestion!
4951

5052
[Please submit your suggestions and votes for next week][submit_crate]!
5153

@@ -67,7 +69,76 @@ If you are a Rust project owner and are looking for contributors, please submit
6769

6870
## Updates from the Rust Project
6971

70-
<!-- Rust updates go here -->
72+
321 pull requests were [merged in the last week][merged]
73+
74+
[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2023-03-13..2023-03-20
75+
76+
* [`inherit_overflow`: adapt pattern to also work with v0 mangling](https://github.com/rust-lang/rust/pull/109181)
77+
* [`read_buf_exact`: on error, all read bytes are appended to the buffer](https://github.com/rust-lang/rust/pull/109022)
78+
* [add `enable-warnings` flag for llvm, and disable it by default](https://github.com/rust-lang/rust/pull/108991)
79+
* [add `useless_anonymous_reexport` lint](https://github.com/rust-lang/rust/pull/109003)
80+
* [add note for mismatched types because of circular dependencies](https://github.com/rust-lang/rust/pull/105793)
81+
* [do not ICE for unexpected lifetime with ConstGeneric rib](https://github.com/rust-lang/rust/pull/109222)
82+
* [don't ICE for late-bound consts across `AnonConstBoundary`](https://github.com/rust-lang/rust/pull/109105)
83+
* [don't suggest similar method when unstable](https://github.com/rust-lang/rust/pull/109212)
84+
* [fix ICE in `custom-test-frameworks` feature](https://github.com/rust-lang/rust/pull/109301)
85+
* [fix ClashingExternDeclarations lint ICE](https://github.com/rust-lang/rust/pull/109370)
86+
* [emit diagnostic when calling methods on the unit type in method chains](https://github.com/rust-lang/rust/pull/109116)
87+
* [ensure `ptr::read` gets all the same LLVM `load` metadata that dereferencing does](https://github.com/rust-lang/rust/pull/109035)
88+
* [erase escaping late-bound regions when probing for ambiguous associated types](https://github.com/rust-lang/rust/pull/109102)
89+
* [error-msg: expand suggestion for `unused_def` lint](https://github.com/rust-lang/rust/pull/109158)
90+
* [error-msg: impl better suggestion for `E0532`](https://github.com/rust-lang/rust/pull/108971)
91+
* [fall back to old metadata computation when type references errors](https://github.com/rust-lang/rust/pull/109101)
92+
* [fast path for `process_obligations`](https://github.com/rust-lang/rust/pull/108815)
93+
* [fix `generics_of` for impl's RPITIT (Return Position Impl Trait In Trait) synthesized associated type](https://github.com/rust-lang/rust/pull/109277)
94+
* [fix generics mismatch errors for RPITITs on -Zlower-impl-trait-in-trait-to-assoc-ty](https://github.com/rust-lang/rust/pull/109238)
95+
* [install projection from RPITIT to default trait method opaque correctly](https://github.com/rust-lang/rust/pull/109198)
96+
* [make fns from other crates with RPITIT work for `-Zlower-impl-trait-in-trait-to-assoc-ty`](https://github.com/rust-lang/rust/pull/108923)
97+
* [fix object safety checks for new RPITITs](https://github.com/rust-lang/rust/pull/108909)
98+
* [fix linker detection for clang with prefix](https://github.com/rust-lang/rust/pull/109156)
99+
* [flatten/inline `format_args!()` and (string and int) literal arguments into `format_args!()`](https://github.com/rust-lang/rust/pull/106824)
100+
* [implement `FixedSizeEncoding` for `UnusedGenericParams`](https://github.com/rust-lang/rust/pull/109324)
101+
* [implement checked `Shl`/`Shr` at MIR building](https://github.com/rust-lang/rust/pull/108282)
102+
* [only expect a GAT const param for `type_of` of GAT const arg](https://github.com/rust-lang/rust/pull/109364)
103+
* [pass the right HIR back from `get_fn_decl`](https://github.com/rust-lang/rust/pull/109248)
104+
* [remove `identity_future` indirection](https://github.com/rust-lang/rust/pull/104833)
105+
* [remove box expressions from HIR](https://github.com/rust-lang/rust/pull/108958)
106+
* [replace ZST operands and debuginfo by constants](https://github.com/rust-lang/rust/pull/107270)
107+
* [simplify proc macro signature validity check](https://github.com/rust-lang/rust/pull/109136)
108+
* [some cleanups in our normalization logic](https://github.com/rust-lang/rust/pull/109171)
109+
* [suggest surrounding the macro with `{}` to interpret as a statement](https://github.com/rust-lang/rust/pull/109251)
110+
* [use `unused_generic_params` from crate metadata](https://github.com/rust-lang/rust/pull/109109)
111+
* [miri: move reject with isolation logic in fcntl](https://github.com/rust-lang/miri/pull/2787)
112+
* [miri: tree borrows](https://github.com/rust-lang/miri/pull/2785)
113+
* [properly allow macro expanded `format_args` invocations to use captures](https://github.com/rust-lang/rust/pull/106505)
114+
* [optimize dep node backtrace and ignore fatal errors](https://github.com/rust-lang/rust/pull/108524)
115+
* [fallback to lstat when stat fails on Windows](https://github.com/rust-lang/rust/pull/109235)
116+
* [stabilise `unix_socket_abstract`](https://github.com/rust-lang/rust/pull/109288)
117+
* [stabilize `atomic_as_ptr`](https://github.com/rust-lang/rust/pull/108419)
118+
* [use index based drop loop for slices and arrays](https://github.com/rust-lang/rust/pull/109085)
119+
* [allow using `Range` as an `Iterator` in const contexts](https://github.com/rust-lang/rust/pull/104100)
120+
* [cargo: accurately show status when downgrading dependencies](https://github.com/rust-lang/cargo/pull/11839)
121+
* [cargo: add `--ignore-rust-version` flag to cargo install](https://github.com/rust-lang/cargo/pull/11859)
122+
* [cargo: add more information to wait-for-publish](https://github.com/rust-lang/cargo/pull/11713)
123+
* [cargo: align semantics of generated vcs ignore files](https://github.com/rust-lang/cargo/pull/11855)
124+
* [cargo: handle case mismatches when looking up env vars in the Config snapshot](https://github.com/rust-lang/cargo/pull/11824)
125+
* [rustdoc: correctly merge import's and its target's docs in one more case](https://github.com/rust-lang/rust/pull/109266)
126+
* [rustdoc: docFS: replace rayon with threadpool and enable it for all targets](https://github.com/rust-lang/rust/pull/109139)
127+
* [rustdoc: implement bag semantics for function parameter search](https://github.com/rust-lang/rust/pull/109331)
128+
* [clippy: add `allow_attribute` lint](https://github.com/rust-lang/rust-clippy/pull/10481)
129+
* [clippy: new lint to detect `&std::path::MAIN_SEPARATOR.to_string()`](https://github.com/rust-lang/rust-clippy/pull/10483)
130+
* [clippy: enhance `ifs_same_cond` to warn same immutable method calls as well](https://github.com/rust-lang/rust-clippy/pull/10350)
131+
* [clippy: fix `almost_swapped` false positive (`let mut a = b; a = a`)](https://github.com/rust-lang/rust-clippy/pull/10499)
132+
* [clippy: fix `almost_swapped`: Ignore external macros](https://github.com/rust-lang/rust-clippy/pull/10502)
133+
* [clippy: issue function modifiers in the right order in `manual_async_fn` lint](https://github.com/rust-lang/rust-clippy/pull/10456)
134+
* [rust-analyzer: add an autofix for inserting an unsafe block to missing unsafe diagnostic](https://github.com/rust-lang/rust-analyzer/pull/14281)
135+
* [rust-analyzer: prioritize missing variants in match pattern completions](https://github.com/rust-lang/rust-analyzer/pull/13789)
136+
* [rust-analyzer: allow the status bar item to be clicked again](https://github.com/rust-lang/rust-analyzer/pull/14337)
137+
* [rust-analyzer: fix reference completions being emitted in places other than argument lists](https://github.com/rust-lang/rust-analyzer/pull/14355)
138+
* [rust-analyzer: fix rustc proc-macro handling being broken on the rustc workspace itself](https://github.com/rust-lang/rust-analyzer/pull/14348)
139+
* [rust-analyzer: fix visibility resolution not respecting parent blocks](https://github.com/rust-lang/rust-analyzer/pull/14349)
140+
* [rust-analyzer: only skip adjustment hints for block, if and match expressions for reborrows](https://github.com/rust-lang/rust-analyzer/pull/14338)
141+
* [rust-analyzer: lint incoherent inherent impls](https://github.com/rust-lang/rust-analyzer/pull/13994)
71142

72143
### Rust Compiler Performance Triage
73144

@@ -215,7 +286,11 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE)
215286

216287
# Quote of the Week
217288

218-
<!-- QOTW goes here -->
289+
> The generated program is a random sequence of bytes that just happens to take the shape of a seemingly working program by accident. Such is the joy of code that causes UB. You cannot deduce anything from what happens when you execute a program with UB, since that act is by itself meaningless. You need to establish that your program has no UB before making any inference based on what you see the program do after it came out of the compiler.
290+
291+
[Ralf Jung on github](https://github.com/rust-lang/miri/issues/2807#issuecomment-1462385947)
292+
293+
Thanks to [bugaevc](https://users.rust-lang.org/t/twir-quote-of-the-week/328/1381) for the suggestion!
219294

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

0 commit comments

Comments
 (0)