Skip to content

Commit

Permalink
Merge pull request #5929 from llogiq/twir-565
Browse files Browse the repository at this point in the history
C/QotW and notable changes
  • Loading branch information
bennyvasquez authored Sep 18, 2024
2 parents e33bf52 + d9ebf7b commit ee28406
Showing 1 changed file with 113 additions and 3 deletions.
116 changes: 113 additions & 3 deletions draft/2024-09-18-this-week-in-rust.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,9 @@ and just ask the editors to select the category.

## Crate of the Week

<!-- COTW goes here -->
This week's crate is [lepton-jpeg-rust](https://github.com/microsoft/lepton_jpeg_rust), Microsoft's port of Dropbox' lepton space-saving JPEG compressor library to Rust.

Thanks to [Kornel](https://users.rust-lang.org/t/crate-of-the-week/2704/1346) for the suggestion!

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

Expand Down Expand Up @@ -114,7 +116,111 @@ If you are an event organizer hoping to expand the reach of your event, please s

## Updates from the Rust Project

<!-- Rust updates go here -->
351 pull requests were [merged in the last week][merged]

[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2024-09-10..2024-09-17

* [deprecate -Csoft-float because it is unsound (and not fixable)](https://github.com/rust-lang/rust/pull/129897)
* [add -Z small-data-threshold](https://github.com/rust-lang/rust/pull/117465)
* [fix conflicting negative impl marker](https://github.com/rust-lang/rust/pull/130311)
* [add a machine-applicable suggestion to "unreachable pattern"](https://github.com/rust-lang/rust/pull/128991)
* [add system libs for LLVM when cross compiling for Windows](https://github.com/rust-lang/rust/pull/130398)
* [also emit `missing_docs` lint with `--test` to fulfil expectations](https://github.com/rust-lang/rust/pull/130025)
* [avoid crashing on variadic functions when producing arg-mismatch errors](https://github.com/rust-lang/rust/pull/130437)
* [const-eval interning: accept interior mutable pointers in final value](https://github.com/rust-lang/rust/pull/128543)
* [const: don't ICE when encountering a mutable ref to immutable memory](https://github.com/rust-lang/rust/pull/130394)
* [correctly account for niche-optimized tags in `rustc_transmute`](https://github.com/rust-lang/rust/pull/130371)
* [disallow `naked_asm!` outside of `#[naked]` functions](https://github.com/rust-lang/rust/pull/130195)
* [do precise capturing arg validation in resolve](https://github.com/rust-lang/rust/pull/130414)
* [don't ICE when RPITIT captures more method args than trait definition](https://github.com/rust-lang/rust/pull/130412)
* [don't ICE when generating `Fn` shim for async closure with borrowck error](https://github.com/rust-lang/rust/pull/130410)
* [don't leave debug locations for constants sitting on the builder indefinitely](https://github.com/rust-lang/rust/pull/130052)
* [don't suggest adding return type for closures with default return type](https://github.com/rust-lang/rust/pull/129260)
* [don't use `typeck_root_def_id` in codegen for finding closure's root](https://github.com/rust-lang/rust/pull/129716)
* [don't warn empty branches unreachable for now](https://github.com/rust-lang/rust/pull/129103)
* [enumerate lint expectations using AttrId](https://github.com/rust-lang/rust/pull/130050)
* [fix `Parser::break_up_float`'s right span](https://github.com/rust-lang/rust/pull/130349)
* [fix anon const def-creation when macros are involved](https://github.com/rust-lang/rust/pull/129137)
* [fix crash when labeling arguments for `call_once` and friends](https://github.com/rust-lang/rust/pull/129320)
* [fix default/minimum deployment target for Aarch64 simulator targets](https://github.com/rust-lang/rust/pull/129367)
* [fix false positive with `missing_docs` and `#[test]`](https://github.com/rust-lang/rust/pull/130219)
* [fix linking error when compiling for 32-bit watchOS](https://github.com/rust-lang/rust/pull/130077)
* [fix lint levels not getting overridden by attrs on `Stmt` nodes](https://github.com/rust-lang/rust/pull/130293)
* [generalize: track relevant info in cache key](https://github.com/rust-lang/rust/pull/130194)
* [layout computation: gracefully handle unsized types in unexpected locations](https://github.com/rust-lang/rust/pull/129970)
* [compute Rust exception class from its string repr](https://github.com/rust-lang/rust/pull/130381)
* [limit `libc::link` usage to `nto70` target only, not NTO OS](https://github.com/rust-lang/rust/pull/130248)
* [linker: allow MSVC to use import libraries following the Meson/MinGW convention](https://github.com/rust-lang/rust/pull/123436)
* [make basic allocation functions `track_caller` in Miri for nicer backtraces](https://github.com/rust-lang/rust/pull/130245)
* [make dist vendoring configurable](https://github.com/rust-lang/rust/pull/130110)
* [make some lint doctests compatible with `--stage=0`](https://github.com/rust-lang/rust/pull/130353)
* [map `ERROR_CANT_RESOLVE_FILENAME` to `ErrorKind::FilesystemLoop`](https://github.com/rust-lang/rust/pull/130207)
* [map `WSAEDQUOT` to `ErrorKind::FilesystemQuotaExceeded`](https://github.com/rust-lang/rust/pull/130206)
* [more eagerly discard constraints on overflow](https://github.com/rust-lang/rust/pull/130273)
* [properly report error on `const gen fn`](https://github.com/rust-lang/rust/pull/130252)
* [report the `note` when specified in `diagnostic::on_unimplemented`](https://github.com/rust-lang/rust/pull/130123)
* [rescope temp lifetime in if-let into IfElse with migration lint](https://github.com/rust-lang/rust/pull/107251)
* [simplify the canonical clone method and the copy-like forms to copy](https://github.com/rust-lang/rust/pull/128299)
* [some fixes for `clashing_extern_declarations` lint](https://github.com/rust-lang/rust/pull/130301)
* [suggest the correct pattern syntax on usage of unit variant pattern for a `struct` variant](https://github.com/rust-lang/rust/pull/129520)
* [ban non-array SIMD](https://github.com/rust-lang/rust/pull/129403)
* [`simd_shuffle`: require index argument to be a vector](https://github.com/rust-lang/rust/pull/130268)
* [interpret, miri: fix dealing with overflow during slice indexing and allocation](https://github.com/rust-lang/rust/pull/130342)
* [interpret: `get_ptr_alloc_mut`: lookup allocation only once](https://github.com/rust-lang/rust/pull/130148)
* [interpret: simplify SIMD type handling](https://github.com/rust-lang/rust/pull/130215)
* [notify miri when intrinsics are changed](https://github.com/rust-lang/rust/pull/130228)
* [miri: fix overflow detection for unsigned pointer offset](https://github.com/rust-lang/rust/pull/130239)
* [miri: treat non-memory local variables properly for data race detection](https://github.com/rust-lang/rust/pull/129828)
* [miri: /miri run: directly run binary instead of using 'cargo run'](https://github.com/rust-lang/miri/pull/3881)
* [miri: add Android pthread support](https://github.com/rust-lang/miri/pull/3889)
* [miri: add non-portable linux pthread initializers to layout sanity check](https://github.com/rust-lang/miri/pull/3880)
* [miri: detect when `pthread_cond_t` is moved](https://github.com/rust-lang/miri/pull/3884)
* [miri: support pthread primitives on FreeBSD](https://github.com/rust-lang/miri/pull/3886)
* [stabilize `&mut` (and `*mut`) as well as &Cell` (and `*const Cell`) in const`](https://github.com/rust-lang/rust/pull/129195)
* [stabilize `const_extern_fn`](https://github.com/rust-lang/rust/pull/129753)
* [stabilize `entry_insert`](https://github.com/rust-lang/rust/pull/130290)
* [stabilize most of `io_error_more`](https://github.com/rust-lang/rust/pull/128316)
* [implement `PartialEq` for `ExitCode`](https://github.com/rust-lang/rust/pull/127633)
* [move `Option::unwrap_unchecked` into `const_option` feature gate](https://github.com/rust-lang/rust/pull/130118)
* [add `NonNull` convenience methods to `Box` and `Vec`](https://github.com/rust-lang/rust/pull/130061)
* [add `core::panic::abort_unwind`](https://github.com/rust-lang/rust/pull/130339)
* [properly handle EOF in `BufReader::peek`](https://github.com/rust-lang/rust/pull/130042)
* [implement feature `string_from_utf8_lossy_owned` for lossy conversion from `Vec<u8>` to `String` methods](https://github.com/rust-lang/rust/pull/129439)
* [futures: `#[inline(always)]` on `clone_arc_raw`](https://github.com/rust-lang/futures-rs/pull/2865)
* [futures: add accessors for the inner of `stream::Iter`](https://github.com/rust-lang/futures-rs/pull/2875)
* [cargo: `fix(vendor)`: trust crate version only when coming from registries](https://github.com/rust-lang/cargo/pull/14530)
* [cargo: disable the `shell_completions` tests](https://github.com/rust-lang/cargo/pull/14546)
* [cargo: add custom completer for `cargo -Z <TAB>`](https://github.com/rust-lang/cargo/pull/14536)
* [cargo: add custom completer for completing bin names](https://github.com/rust-lang/cargo/pull/14533)
* [cargo: add custom completer for completing installed binaries](https://github.com/rust-lang/cargo/pull/14534)
* [cargo: add native comlpetion with CompleteEnv under the nightly](https://github.com/rust-lang/cargo/pull/14493)
* [rustdoc rfc#3662 changes under unstable flags](https://github.com/rust-lang/rust/pull/129337)
* [rustdoc: add two regression tests](https://github.com/rust-lang/rust/pull/130173)
* [rustdoc: rename `issue-\d+.rs` tests to have meaningful names (part 9)](https://github.com/rust-lang/rust/pull/130287)
* [rustdoc: unify the short-circuit on all lints](https://github.com/rust-lang/rust/pull/129975)
* [rustfmt: `config_proc_macro`: reduce syn's features](https://github.com/rust-lang/rustfmt/pull/6237)
* [rustfmt: format trailing where clauses in type aliases](https://github.com/rust-lang/rustfmt/pull/5887)
* [rustfmt: non-panicking `fmt::Display` for `FileName`](https://github.com/rust-lang/rustfmt/pull/6328)
* [rustfmt: refactor - show file path in error message when parsing config from toml](https://github.com/rust-lang/rustfmt/pull/6323)
* [clippy: look at adjusted types instead of fn signature types in `ptr_arg`](https://github.com/rust-lang/rust-clippy/pull/13313)
* [clippy: not trigger `duplicated_attributes` on duplicate reasons](https://github.com/rust-lang/rust-clippy/pull/13386)
* [clippy: special-case suggestions for null pointers constness cast](https://github.com/rust-lang/rust-clippy/pull/13369)
* [clippy: consider msrv for const context for `const_float_bits_conv`](https://github.com/rust-lang/rust/pull/130305)
* [rust-analyzer: add command to report unresolved references](https://github.com/rust-lang/rust-analyzer/pull/17904)
* [rust-analyzer: assist: ensure `replace_qualified_name_with_use` applies to the first path segment](https://github.com/rust-lang/rust-analyzer/pull/18050)
* [rust-analyzer: automatically add semicolon when completing unit-returning functions](https://github.com/rust-lang/rust-analyzer/pull/18018)
* [rust-analyzer: generate names for tuple-struct in add-missing-match-arms](https://github.com/rust-lang/rust-analyzer/pull/18038)
* [rust-analyzer: render patterns in params for hovering](https://github.com/rust-lang/rust-analyzer/pull/18075)
* [rust-analyzer: correctly escape strings in our quote macro](https://github.com/rust-lang/rust-analyzer/pull/18092)
* [rust-analyzer: don't emit empty inlay hint parts](https://github.com/rust-lang/rust-analyzer/pull/18107)
* [rust-analyzer: don't report typed hole error in asm! out ops](https://github.com/rust-lang/rust-analyzer/pull/18106)
* [rust-analyzer: faulty notifications should not bring down the server](https://github.com/rust-lang/rust-analyzer/pull/18105)
* [rust-analyzer: fix `inline_const_as_literal` error when the number \>= 10](https://github.com/rust-lang/rust-analyzer/pull/18052)
* [rust-analyzer: fix inference of literals when the expectation is Castable](https://github.com/rust-lang/rust-analyzer/pull/18101)
* [rust-analyzer: fix printing of constants greater than `i128::MAX`](https://github.com/rust-lang/rust-analyzer/pull/18119)
* [rust-analyzer: immutable tree panic in `generate_delegate_trait`](https://github.com/rust-lang/rust-analyzer/pull/18073)
* [rust-analyzer: skip checks for cast to dyn traits](https://github.com/rust-lang/rust-analyzer/pull/18093)
* [rust-analyzer: use more correct handling of lint attributes](https://github.com/rust-lang/rust-analyzer/pull/18099)

### Rust Compiler Performance Triage

Expand Down Expand Up @@ -310,7 +416,11 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE)

# Quote of the Week

<!-- QOTW goes here -->
> \[Rust\] is a conspiracy to popularize programing language concepts from the 80s
[Esteban Küber on hachyderm](https://hachyderm.io/@ekuber/113130426545931814)

[llogiq](https://users.rust-lang.org/t/twir-quote-of-the-week/328/1610) is quite thankful to himself for the suggestion!

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

Expand Down

0 comments on commit ee28406

Please sign in to comment.