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 thetry
andcatch
keywords are likely to change, given the overlap with the existingtry!
macro. -
RFC 1320 which modifies
the
RangeInclusive
type 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_mode
stabilization- 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_prefix
stabilization- Deprecate
-
FCP Issue #27728:
Tracking issue for formatting with a radix
- Deprecate
-
FCP Issue #27729:
Tracking issue for
as_slice
stabilization- Stabilize
-
FCP Issue #27735:
Tracking issue for
IntoCow
stabilization- Deprecate
-
FCP Issue #27739:
Tracking issue for
Zero
/One
/iter_arith
stabilization -
FCP Issue #27750:
Tracking issue for
clone_from_slice
stabilization- Stabilize with new panic behavior
-
FCP Issue #27753:
Tracking issue for
num_bits_bytes
stabilization- Deprecate
-
FCP Issue #27755:
Tracking issue for
wrapping
stabilization- 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_PATH
for 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.