Starting this week, we’ll put out a single joint post for all subteams that includes the highlights from each, together with a link to the full report.
Lang
The following RFCs are entering final comment period:
- PR #1131: Add an expect intrinsic.
-
PR #1052: Clarify cast rules, especially regarding fat pointers.
- Extended from last week.
UPDATE: two additional RFCs have been added:
- PR #1122: Semantic versioning for the language.
- PR #987: Modify RFC #803 (type ascription) to make type ascription expressions lvalues
Last week, we moved a number of RFCs into the final comment period:
-
PR #1052: Clarify cast rules, especially regarding fat pointers.
- No decision. FCP has been extended to give time for more discussion on some of the finer points.
-
PR #1096: remove static_assert.
- Accepted, tracking issue #24910.
-
PR #982: DST custom coercions.
- Accepted, tracking issue #18469. Note that much of this implementation has been done, but the design is not considered fully stabilized.
-
PR #591: Sizeof, alignof, offsetof, typeof
- Postponed as issue #1144 to allow room to explore a variant based on associated constants.
-
PR #948: Retire RFC 8 (intrinsics) without implementing it.
- Accepted.
I’d also like to highlight PR 25796, by @arielb1, which implemented defaults for associated types. Nice!
– nmatsakis
Libs
The following RFCs are entering their final comment period:
- FCP PR #1105: RFC: Policy on semver and API evolution
- FCP PR #1119: Quick draft “Result::expect” rfc
-
FCP PR #1123: RFC: introduce
split_at(mid: usize)
onstr
-
FCP PR #1034: RFC: Deprecate
Iterator::size_hint
andExactSizeIterator
for better named alternatives.- Extended from last week
The following features are entering their final comment period for stabilization:
- FCP PR #25844: std: Stabilize a number of new fs features
Last week we had a few RFCs in final comment period; here’s what happened:
- PR #583: Add fmt size_hints
- PR #590: Early trait bounds on generic types
- PR #839: Have collections impl Extend<&T> where T: Copy
- PR #1014: Don’t panic when stdout doesn’t exist
-
PR #1034: RFC: Deprecate
Iterator::size_hint
andExactSizeIterator
for better named alternatives.- Kept open for further discussion; see the related policy thread.
There were also some important discuss threads for library policy, which are ongoing:
- Thoughts on aggressive deprecation in std
- What should go into the standard library?
- The life and death of an API
– aturon
Tools
The biggest news of this past week was that Emily Dunham (@edunham) has started with the Research team at Mozilla to work on DevOps infrastructure, initially with lots of focus on Rust! Be sure to say hi if you see her in IRC.
On the Cargo side of the world, there was a large rewrite of RFC 1133 about making Cargo aware of dependencies on libstd after some discussion with @Ericson2314 on IRC. You’ll also soon be able to enjoy custom output directories, speedier compiles, and easy copy/paste commands. Some awesome work by @wca has also brought Cargo to FreeBSD!
Back over in the compiler, new snapshots have been registered, enabling MSVC to bootstrap from itself after fixing some minor bugs, and the next step for MSVC is to update LLVM and implement unwinding. Please jump in today if you’re interested in working with MSVC as everything should be operational except for unwinding, and we’re eager to hear about your experiences! In terms of porting, efforts to set up more FreeBSD are also underway, and soon should have some auto builders set up.
Nick’s benchmarking bot is also chugging along, collecting data and will soon be viewable with a nice UI!
– acrichto
Compiler
No highlights this week.