From d9ebf7b1a0b3717cadebbac99d0f648a6346f4fe Mon Sep 17 00:00:00 2001 From: Andre Bogus Date: Tue, 17 Sep 2024 20:22:28 +0200 Subject: [PATCH] C/QotW and notable changes --- draft/2024-09-18-this-week-in-rust.md | 116 +++++++++++++++++++++++++- 1 file changed, 113 insertions(+), 3 deletions(-) diff --git a/draft/2024-09-18-this-week-in-rust.md b/draft/2024-09-18-this-week-in-rust.md index e7a3c4e54..3c7282e80 100644 --- a/draft/2024-09-18-this-week-in-rust.md +++ b/draft/2024-09-18-this-week-in-rust.md @@ -47,7 +47,9 @@ and just ask the editors to select the category. ## Crate of the Week - +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]! @@ -98,7 +100,111 @@ If you are an event organizer hoping to expand the reach of your event, please s ## Updates from the Rust Project - +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` 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 `](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 @@ -292,7 +398,11 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE) # Quote of the Week - +> \[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)