Skip to content

Commit 16da776

Browse files
Merge pull request #4985 from llogiq/twir-526
C/QotW and notable changes
2 parents e9c3b54 + ed2b838 commit 16da776

File tree

1 file changed

+109
-3
lines changed

1 file changed

+109
-3
lines changed

draft/2023-12-20-this-week-in-rust.md

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

6969
## Crate of the Week
7070

71-
<!-- COTW goes here -->
71+
This week's crate is [constcat](https://crates.io/crates/constcat), a `std::concat!`-replacement with support for const variables and expressions.
72+
73+
Thanks to [Ross MacArthur](https://users.rust-lang.org/t/crate-of-the-week/2704/1272) for the self-suggestion!
7274

7375
[Please submit your suggestions and votes for next week][submit_crate]!
7476

@@ -90,7 +92,107 @@ 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+
386 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%3A2023-12-13..2023-12-20
98+
99+
* [enable stack probes on aarch64 for LLVM 18](https://github.com/rust-lang/rust/pull/118491)
100+
* [add new tier 3 aarch64-apple-watchos target](https://github.com/rust-lang/rust/pull/119074)
101+
* [add hexagon support](https://github.com/rust-lang/compiler-builtins/pull/556)
102+
* [add the function body span to StableMIR](https://github.com/rust-lang/rust/pull/119100)
103+
* [allow `async_fn_in_trait` traits with Send variant](https://github.com/rust-lang/impl-trait-utils/pull/6)
104+
* [cherry-pick "M68k: Fix ODR violation in GISel code (#72797)"](https://github.com/rust-lang/llvm-project/pull/159)
105+
* [AIX: fix XCOFF metadata](https://github.com/rust-lang/rust/pull/118905)
106+
* [`-Ztrait-solver=next` to `-Znext-solver`](https://github.com/rust-lang/rust/pull/118937)
107+
* [actually parse async gen blocks correctly](https://github.com/rust-lang/rust/pull/118891)
108+
* [add a method to StableMIR to check if a type is a CStr](https://github.com/rust-lang/rust/pull/119000)
109+
* [add more suggestions to unexpected cfg names and values](https://github.com/rust-lang/rust/pull/118213)
110+
* [add support for `--env` on `tracked_env::var`](https://github.com/rust-lang/rust/pull/118830)
111+
* [add unstable `-Zdefault-hidden-visibility` cmdline flag for `rustc`](https://github.com/rust-lang/rust/pull/118417)
112+
* [annotate panic reasons during enum layout](https://github.com/rust-lang/rust/pull/118974)
113+
* [attempt to try to resolve blocking concerns](https://github.com/rust-lang/rust/pull/117050) (RFC [#3086](https://rust-lang.github.io/rfcs/3086-macro-metavar-expr.html))
114+
* [avoid overflow in GVN constant indexing](https://github.com/rust-lang/rust/pull/119052)
115+
* [cache param env canonicalization](https://github.com/rust-lang/rust/pull/117749)
116+
* [check `FnPtr`/`FnDef` built-in fn traits correctly with effects](https://github.com/rust-lang/rust/pull/119023)
117+
* [check generic params after sigature for main-fn-ty](https://github.com/rust-lang/rust/pull/119047)
118+
* [collect lang items from AST, get rid of `GenericBound::LangItemTrait`](https://github.com/rust-lang/rust/pull/118396)
119+
* [coroutine variant fields can be uninitialized](https://github.com/rust-lang/rust/pull/118871)
120+
* [coverage: skip instrumenting a function if no spans were extracted from MIR](https://github.com/rust-lang/rust/pull/118852)
121+
* [deny `~const` trait bounds in inherent impl headers](https://github.com/rust-lang/rust/pull/119059)
122+
* [desugar `yield` in `async gen` correctly, ensure `gen` always returns unit](https://github.com/rust-lang/rust/pull/119061)
123+
* [don't merge cfg and doc(cfg) attributes for re-exports](https://github.com/rust-lang/rust/pull/113091)
124+
* [erase late bound regions from `Instance::fn_sig()` and add a few more details to StableMIR APIs](https://github.com/rust-lang/rust/pull/118927)
125+
* [fix ICE `ProjectionKinds Deref and Field were mismatched`](https://github.com/rust-lang/rust/pull/118584)
126+
* [fix LLD thread flags in bootstrap on Windows](https://github.com/rust-lang/rust/pull/118906)
127+
* [fix `waker_getters` tracking issue number](https://github.com/rust-lang/rust/pull/118873)
128+
* [fix alignment passed down to LLVM for `simd_masked_load`](https://github.com/rust-lang/rust/pull/118864)
129+
* [fix dynamic size/align computation logic for packed types with dyn trait tail](https://github.com/rust-lang/rust/pull/118538)
130+
* [fix overlapping spans in delimited meta-vars](https://github.com/rust-lang/rust/pull/118928)
131+
* [ICE 110453: fixed with errors](https://github.com/rust-lang/glacier/pull/1702)
132+
* [llvm-wrapper: adapt for LLVM API changes](https://github.com/rust-lang/rust/pull/118941)
133+
* [make `IMPLIED_BOUNDS_ENTAILMENT` into a hard error from a lint](https://github.com/rust-lang/rust/pull/117984)
134+
* [make exhaustiveness usable outside of rustc](https://github.com/rust-lang/rust/pull/118842)
135+
* [match lowering: Remove the `make_target_blocks` hack](https://github.com/rust-lang/rust/pull/119112)
136+
* [more expressions correctly are marked to end with curly braces](https://github.com/rust-lang/rust/pull/118880)
137+
* [nudge the user to kill programs using excessive CPU](https://github.com/rust-lang/rust-playground/pull/1020)
138+
* [opportunistically resolve region var in canonicalizer (instead of resolving root var)](https://github.com/rust-lang/rust/pull/118964)
139+
* [properly reject `default` on free const items](https://github.com/rust-lang/rust/pull/117818)
140+
* [remove unnecessary constness from ProjectionCandidate](https://github.com/rust-lang/rust/pull/119022)
141+
* [replace some instances of `FxHashMap`/`FxHashSet` with stable alternatives (mostly in `rustc_hir` and `rustc_ast_lowering`)](https://github.com/rust-lang/rust/pull/119093)
142+
* [resolve: replace visibility table in resolver outputs with query feeding](https://github.com/rust-lang/rust/pull/118657)
143+
* [skip rpit constraint checker if borrowck return type error](https://github.com/rust-lang/rust/pull/117884)
144+
* [some cleanup and improvement for invalid ref casting impl](https://github.com/rust-lang/rust/pull/118909)
145+
* [tweak `short_ty_string` to reduce number of files](https://github.com/rust-lang/rust/pull/118389)
146+
* [unconditionally register alias-relate in projection goal](https://github.com/rust-lang/rust/pull/118914)
147+
* [update FreeBSD CI image](https://github.com/rust-lang/stdarch/pull/1507)
148+
* [uplift `TypeAndMut` and `ClosureKind` to `rustc_type_ir`](https://github.com/rust-lang/rust/pull/118888)
149+
* [use `if cfg!` instead of `#[cfg]`](https://github.com/rust-lang/rust/pull/118993)
150+
* [use the LLVM option NoTrapAfterNoreturn](https://github.com/rust-lang/rust/pull/110494)
151+
* [miri: visit the AllocIds and BorTags in borrow state FrameExtra](https://github.com/rust-lang/miri/pull/3229)
152+
* [miri run: default to edition 2021](https://github.com/rust-lang/miri/pull/3221)
153+
* [miri: make mmap not use expose semantics](https://github.com/rust-lang/miri/pull/3220)
154+
* [fast path for `declared_generic_bounds_from_env`](https://github.com/rust-lang/rust/pull/119084)
155+
* [stabilize `type_name_of_val`](https://github.com/rust-lang/rust/pull/118234)
156+
* [stabilize `ptr::{from_ref, from_mut}`](https://github.com/rust-lang/rust/pull/117824)
157+
* [add `core::intrinsics::simd`](https://github.com/rust-lang/rust/pull/118853)
158+
* [add a column number to `dbg!()`](https://github.com/rust-lang/rust/pull/114962)
159+
* [add more niches to `rawvec`](https://github.com/rust-lang/rust/pull/106790)
160+
* [add ASCII whitespace trimming functions to `&str`](https://github.com/rust-lang/rust/pull/118523)
161+
* [fix cases where std accidentally relied on inline(never)](https://github.com/rust-lang/rust/pull/118770)
162+
* [Windows: allow `File::create` to work on hidden files](https://github.com/rust-lang/rust/pull/116438)
163+
* [std: add xcoff in object's feature list](https://github.com/rust-lang/rust/pull/118851)
164+
* [codegen: panic when trying to compute size/align of extern type](https://github.com/rust-lang/rust/pull/118534)
165+
* [codegen\_gcc: simd: implement missing intrinsics from simd/generic-arithmetic-pass.rs](https://github.com/rust-lang/rustc_codegen_gcc/pull/382)
166+
* [codegen\_llvm: set `DW_AT_accessibility`](https://github.com/rust-lang/rust/pull/115165)
167+
* [cargo: clean up package metadata](https://github.com/rust-lang/cargo/pull/13184)
168+
* [cargo: do not allow empty name in package ID spec](https://github.com/rust-lang/cargo/pull/13152)
169+
* [cargo: fill in more empty name holes](https://github.com/rust-lang/cargo/pull/13164)
170+
* [cargo: hold the mutate exclusive lock when vendoring](https://github.com/rust-lang/cargo/pull/12509)
171+
* [rustdoc: use Map instead of Object for source files and search index](https://github.com/rust-lang/rust/pull/118910)
172+
* [rustdoc: allow resizing the sidebar / hiding the top bar](https://github.com/rust-lang/rust/pull/115660)
173+
* [rustdoc-search: fix a race condition in search index loading](https://github.com/rust-lang/rust/pull/118961)
174+
* [rustdoc-search: use set ops for ranking and filtering](https://github.com/rust-lang/rust/pull/118402)
175+
* [bindgen: use `\r\n` on windows](https://github.com/rust-lang/rust-bindgen/pull/2698)
176+
* [bindgen: better working destructors on windows](https://github.com/rust-lang/rust-bindgen/pull/2663)
177+
* [clippy: add new `unconditional_recursion` lint](https://github.com/rust-lang/rust-clippy/pull/11938)
178+
* [clippy: new Lint: `result_filter_map` / Mirror of `option_filter_map`](https://github.com/rust-lang/rust-clippy/pull/11869)
179+
* [clippy: don't visit nested bodies in `is_const_evaluatable`](https://github.com/rust-lang/rust-clippy/pull/11977)
180+
* [clippy: `redundant_pattern_matching`: lint `if let true`, `while let true`, `matches!(.., true)`](https://github.com/rust-lang/rust-clippy/pull/11974)
181+
* [clippy: do not lint `assertions_on_constants` for `const _: () = assert!(expr)`](https://github.com/rust-lang/rust-clippy/pull/11966)
182+
* [clippy: `doc_markdown` Recognize words followed by empty parentheses `()` for quoting](https://github.com/rust-lang/rust-clippy/pull/11956)
183+
* [clippy: fix binder handling in `unnecessary_to_owned`](https://github.com/rust-lang/rust-clippy/pull/11953)
184+
* [rust-analyzer: deduplicate annotations](https://github.com/rust-lang/rust-analyzer/pull/16163)
185+
* [rust-analyzer: optimizing Performance with `Promise.all` 🏎](https://github.com/rust-lang/rust-analyzer/pull/16162)
186+
* [rust-analyzer: desugar doc correctly for mbe](https://github.com/rust-lang/rust-analyzer/pull/16158)
187+
* [rust-analyzer: dont assume ascii in `remove_markdown`](https://github.com/rust-lang/rust-analyzer/pull/16155)
188+
* [rust-analyzer: resolve alias before resolving enum variant](https://github.com/rust-lang/rust-analyzer/pull/16152)
189+
* [rust-analyzer: add minimal support for the 2024 edition](https://github.com/rust-lang/rust-analyzer/pull/16151)
190+
* [rust-analyzer: move out `WithFixture` into dev-dep only crate](https://github.com/rust-lang/rust-analyzer/pull/16150)
191+
* [rust-analyzer: fix false positive type mismatch in const reference patterns](https://github.com/rust-lang/rust-analyzer/pull/16131)
192+
* [rust-analyzer: syntax fixup now removes subtrees with fake spans](https://github.com/rust-lang/rust-analyzer/pull/16130)
193+
* [rust-analyzer: update builtin attrs from rustc](https://github.com/rust-lang/rust-analyzer/pull/16115)
194+
* [rust-analyzer: fix fragment parser replacing matches with dummies on incomplete parses](https://github.com/rust-lang/rust-analyzer/pull/16061)
195+
* [rust-analyzer: fix incorrectly replacing references in macro invocation in "Convert to named struct" assist](https://github.com/rust-lang/rust-analyzer/pull/15887)
94196

95197
### Rust Compiler Performance Triage
96198

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

241343
# Quote of the Week
242344

243-
<!-- QOTW goes here -->
345+
> The Tianyi-33 satellite is a 50kg class space science experimental satellite equipped with an operating system independently developed by Beijing University of Posts and Telecommunications—the Rust-based dual-kernel real-time operating system **RROS**. RROS will carry out general tasks represented by tensorflow/k8s and real-time tasks represented by real-time file systems and real-time network transmission on the satellite. It will ensure the normal execution of upper-layer applications and scientific research tasks, such as time-delay measurement between satellite and ground, live video broadcasting, onboard web chat services, pseudo-SSH experiments, etc. This marks the world’s first official application of a Rust-written dual-kernel operating system in a satellite scenario.
346+
347+
[Qichen on the RROS web page](https://bupt-os.github.io/website/news/2023_12_9/satellite_launch/)
348+
349+
Thanks to [Brian Kung](https://users.rust-lang.org/t/twir-quote-of-the-week/328/1496) for the suggestion!
244350

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

0 commit comments

Comments
 (0)