Lang
Three RFCs went into final comment period this week:
-
RFC 243,
which adds a
?operator that is roughly equivalent to the existingtry!macro, except that it operates in suffix position. The scope of the?operator can be controlled using atry { ... }block and there is also sugar for handling errorstry { .. } catch { .. }. This RFC has been around since before 1.0, and has seen quite a lot of discussion. (Note that thetryandcatchkeywords are likely to change, given the overlap with the existingtry!macro. -
RFC 1320 which modifies
the
RangeInclusivetype from a struct to an enum. - RFC 1462, which adds the open brace character to the follow set for type fragments. This macro is taking a “fast path” to FCP due to the time-sensitive nature of its contents – it is intended to mitigate the effects of a recent bugfix.
We are seeking feedback on
the name and syntax for so-called OIBIT traits,
such as Send and Sync.
Finally, we’ve decided to accept RFC 1331, which spells out a procedure for making an official Rust grammar that is independent from the implementation.
Libs
This week, we made decisions on all the outstanding FCP issues for Rust 1.7:
-
FCP Issue #23284:
Tracking issue for Path::relative_from stabilization
- Stabilize (with renaming and slight type change)
-
FCP Issue #27709:
Tracking issue for Ipv{4,6}Addr convenience methods
- Stabilize subset of methods confirmed to match official spec
-
FCP Issue #27712:
Tracking issue for
fs_modestabilization- Deprecate in favor of libc
-
FCP Issue #27713:
Tracking issue for custom hashers in HashMap
- Stabilize with renaming
-
FCP Issue #27722:
Tracking issue for
path_prefixstabilization- Deprecate
-
FCP Issue #27728:
Tracking issue for formatting with a radix
- Deprecate
-
FCP Issue #27729:
Tracking issue for
as_slicestabilization- Stabilize
-
FCP Issue #27735:
Tracking issue for
IntoCowstabilization- Deprecate
-
FCP Issue #27739:
Tracking issue for
Zero/One/iter_arithstabilization -
FCP Issue #27750:
Tracking issue for
clone_from_slicestabilization- Stabilize with new panic behavior
-
FCP Issue #27753:
Tracking issue for
num_bits_bytesstabilization- Deprecate
-
FCP Issue #27755:
Tracking issue for
wrappingstabilization- Stabilize inherent methods
-
FCP Issue #27782:
Tracking issue for DebugTuple::formatter
- Deprecate
- FCP Issue #27791: Tracking issue for str escaping
-
FCP Issue #27798:
Tracking issue for sync::Semaphore
- Deprecate
- FCP Issue #28796: Tracking issue for FnBox()
-
FCP Issue #29157:
Tracking issue for owned CString conversions
- Stabilize
-
FCP Issue #30423:
Tracking issue for slice::sort_by_key
- Stabilize
Next week we return to our regular programming!
Compiler
We have decided to place
RFC 1457 into final
comment period. This RFC concerns the way that for loops are
internally implemented in the compiler.
Tools
- Initial support for PNaCl is in the Makefiles
-
The compiler itself now has rpath enabled by default to avoid
requiring the usage of
LD_LIBRARY_PATHfor downloaded installers. - A patch to use the gold linker by default landed, but it was unfortunately reverted due to bugs
- The compiler can now emit errors in JSON format
- Initial support for powerpc64 has landed.
- The website has seen a major revamp.
- The RFC for Cargo target specific dependencies will remain in FCP for awhile longer as the syntax is hammered out a bit more.