Hello and welcome to another issue of This Week in Rust! Rust is a systems language pursuing the trifecta: safety, concurrency, and speed. This is a weekly summary of its progress and community. Want something mentioned? Tweet us at @ThisWeekInRust or send us an email! Want to get involved? We love contributions.
This Week in Rust is openly developed on GitHub. If you find any errors in this week's issue, please submit a PR.
This week's edition was edited by: nasa42, brson, and llogiq.
Updates from Rust Community
News & Blog Posts
- There were two major breaking events in the ecosystem this week due to a libc upgrade and a winapi upgrade.
- Bare metal Rust: Low-level CPU I/O ports.
- Macros in Rust - Part 1.
- Macros in Rust - Part 2. Procedural macros.
- Macros in Rust - Part 3. Macro hygiene in Rust.
- Using rustfmt in Vim.
- Writing my first Rust crate: jsonwebtoken.
- Learning to 'try!' things in Rust.
- [video] Concurrency in Rust.
- This week in Redox 5.
- This week in Servo 40.
Notable New Crates & Projects
- Organn. A simple drawbar organ in Rust.
- libloading. A safer binding to platform’s dynamic library loading utilities.
Updates from Rust Core
104 pull requests were merged in the last week.
See the triage digest for more details.
Notable changes
- Library FCP Issues for the 1.6 cycle.
- Deprecate
_ms
functions that predate theDuration
API. - Implement
IntoIterator
for&{Path, PathBuf}
. - Use guard-pages also on DragonFly/FreeBSD.
- Make Windows directory layout uniform with everything else.
- Expose
drop_in_place
asptr::drop_in_place
. - Make all integer intrinsics generic.
- Check whether a supertrait contains Self even without being it.
- Improve error handling in libsyntax.
New Contributors
- Amanieu d'Antras
- Amit Saha
- Bruno Tavares
- Daniel Trebbien
- Ivan Kozik
- Jake Worth
- jrburke
- Kyle Mayes
- Oliver Middleton
- Rizky Luthfianto
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
Final Comment Period
Every week the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now. This week's FCPs are:
- Allow overlapping implementations for marker traits.
#[deprecated]
for Everyone.- Improvements to the Time APIs.
- Define the general semantics of intrinsic functions.
- Add an
alias
attribute to#[link]
and-l
.
New RFCs
- Add
retain_mut
toVec
andVecDeque
. - Add
#[cfg(...)]
attribute to enable conditional compilation dependent on size and alignment of FFI types.
Upcoming Events
- 11/9. Seattle Rust Meetup.
- 11/10. San Diego Rust Meetup #10.
- 11/11. RustBerlin Hack and Learn.
- 11/13. Rust Rhein-Main.
- 11/14. Rust at the Hungarian Web Conference.
- 11/16. Rust Paris.
- 11/17. Rust Hack and Learn Hamburg.
- 11/18. Rust Los Angeles Monthly Meetup.
If you are running a Rust event please add it to the calendar to get it mentioned here. Email Erick Tryzelaar or Brian Anderson for access.
fn work(on: RustProject) -> Money
- Research Engineer - Servo at Mozilla.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Crate of the Week
This week's Crate of the Week is ramp. Ramp supplies some high performance low memory easy to use big integral types.
Whenever you need integers too large for a u64
and cannot afford to lose precision, ramp has just what you need.
Thanks to zcdziura for this week's suggestion. Submit your suggestions for next week!
Quote of the Week
with unsafe .... if you have to ask, then you probably shouldn't be doing it basically
— Steve Klabnik on #rust IRC.
Thanks to Oliver Schneider for the tip.