Lang
Full report
This week two RFCs were approved:
-
RFC #243, which adds the
? suffix operator as a synonym for
today’s try! macro, and adds another construct catch { } that
can be used to delimit the scope of the ? operator. That is,
whereas try! today always propagates errors out of the current
function, the catch {} block allows the scope of the error to be
restricted to something smaller.
-
RFC #1445, which restricts the uses of constants of
user-defined type in patterns to those types which are annotated
with
#[derive(Eq)]. The semantics of constants in patterns was
never formally settled; this change adopts a common subset that
everyone can agree on for the time being. The change has been tested
using crater and was found to cause 6 regressions among the
tested crates.
Compiler
Full report
Panic handling in Windows has been undergoing serious improvement
lately. Alex Crichton landed
PR #30448, which
enables support for Structured Exception Handling (SEH) on MSVC
targets. PR #31313
(still pending) will transition the pc-windows-gnu target as well.
On a less jolly note, two regressions in compiler performance were
recently reported. One has a fix pending, the other is still under
investigation:
-
#31157, which
concerned complex uses of traits where we were doing less caching
than before (fixed by
PR #31349).
- We recently noticed a large drop in bootstrap time connected to a
recent LLVM update. Investigation ongoing.
Libs
Full report
The libs team reached decisions on the following RFCs:
-
FCP PR #1299:
std::sync::mpsc::SharedSender
- Decision: close, and continue this exploration out of three.
-
FCP PR #1359:
RFC: Add CommandExt::{exec, before_exec}
-
FCP PR #1423:
Amend RFC 1270 to describe actual implementation
The following RFCs will remain in final comment period:
-
FCP PR #1353:
Add retain_mut to Vec and VecDeque
- Want to explore the possibility of deprecating
retain, and
perhaps introducing this method with an entirely new name.
-
FCP PR #1415:
RFC: Deprecate type aliases in std::os::*::raw
- Want to explore the breakage caused by this change.