惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog RSS Feed
Spread Privacy
Spread Privacy
T
Threatpost
C
Cisco Blogs
P
Palo Alto Networks Blog
AI
AI
Cyberwarzone
Cyberwarzone
NISL@THU
NISL@THU
P
Privacy & Cybersecurity Law Blog
G
GRAHAM CLULEY
Simon Willison's Weblog
Simon Willison's Weblog
T
Tor Project blog
Latest news
Latest news
AWS News Blog
AWS News Blog
D
Docker
S
SegmentFault 最新的问题
博客园 - 聂微东
WordPress大学
WordPress大学
Vercel News
Vercel News
S
Securelist
爱范儿
爱范儿
J
Java Code Geeks
Know Your Adversary
Know Your Adversary
S
Schneier on Security
Hugging Face - Blog
Hugging Face - Blog
F
Fortinet All Blogs
Last Week in AI
Last Week in AI
D
DataBreaches.Net
宝玉的分享
宝玉的分享
D
Darknet – Hacking Tools, Hacker News & Cyber Security
MongoDB | Blog
MongoDB | Blog
Engineering at Meta
Engineering at Meta
K
Kaspersky official blog
美团技术团队
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志
量子位
博客园_首页
Attack and Defense Labs
Attack and Defense Labs
S
Secure Thoughts
Google Online Security Blog
Google Online Security Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
腾讯CDC
T
Threat Research - Cisco Blogs
雷峰网
雷峰网
有赞技术团队
有赞技术团队
www.infosecurity-magazine.com
www.infosecurity-magazine.com
P
Privacy International News Feed
S
Security Affairs

Rust Blog

Security Advisory for Cargo (CVE-2026-5223) | Rust Blog Security Advisory for Cargo (CVE-2026-5222) | Rust Blog Project goals update — April 2026 (end of 2025H2) | Rust Blog Rust is participating in Outreachy | Rust Blog Raising the baseline for the `nvptx64-nvidia-cuda` target | Rust Blog Announcing Google Summer of Code 2026 selected projects | Rust Blog Announcing Rust 1.95.0 | Rust Blog docs.rs: building fewer targets by default | Rust Blog Changes to WebAssembly targets and handling undefined symbols | Rust Blog Announcing Rust 1.94.1 | Rust Blog Security advisory for Cargo | Rust Blog What we heard about Rust's challenges | Rust Blog Call for Testing: Build Dir Layout v2 | Rust Blog Announcing rustup 1.29.0 | Rust Blog Announcing Rust 1.94.0 | Rust Blog 2025 State of Rust Survey Results | Rust Blog Rust debugging survey 2026 | Rust Blog Update on the October 15, 2018 incident on crates.io Announcing Rust 1.29.2 Announcing Rust 1.29 Launching the 2018 State of Rust Survey Announcing Rust 1.28 What is Rust 2018? Announcing Rust 1.27.2 Announcing Rust 1.27.1 Security Advisory for rustdoc Announcing Rust 1.27 Announcing Rust 1.26.2 Announcing Rust 1.26.1 Rust turns three Announcing Rust 1.26 The Rust Team All Hands in Berlin: a Recap Increasing Rust’s Reach 2018 Announcing Rust 1.25 Rust's 2018 roadmap Announcing Rust 1.24.1 Announcing Rust 1.24 The 2018 Rust Event Lineup Announcing Rust 1.23 New Year's Rust: A Call for Community Blogposts Rust in 2017: what we achieved Announcing Rust 1.22 (and 1.22.1) Fearless Concurrency in Firefox Quantum Announcing Rust 1.21 impl Future for Rust Rust 2017 Survey Results Announcing Rust 1.20 Announcing Rust 1.19 The 2017 Rust Conference Lineup Rust's 2017 roadmap, six months in Increasing Rust’s Reach Announcing Rust 1.18 Two years of Rust The Rust Libz Blitz Launching the 2017 State of Rust Survey Announcing Rust 1.17 Announcing Rust 1.16 Rust's language ergonomics initiative Announcing Rust 1.15.1 Rust's 2017 roadmap Announcing Rust 1.15 Announcing Rust 1.14 Announcing the First Underhanded Rust Contest Announcing Rust 1.13 Announcing Rust 1.12.1 Announcing Rust 1.12 Incremental Compilation Announcing Rust 1.11 Shape of errors to come The 2016 Rust Conference Lineup Announcing Rust 1.10 State of Rust Survey 2016 Announcing Rust 1.9 One year of Rust Taking Rust everywhere with rustup Launching the 2016 State of Rust Survey Cargo: predictable dependency management Introducing MIR Announcing Rust 1.8 Announcing Rust 1.7 Announcing Rust 1.6 Announcing Rust 1.5 Announcing Rust 1.4 Announcing Rust 1.3 Rust in 2016 Announcing Rust 1.2 Rust 1.1 stable, the Community Subteam, and RustCamp Announcing Rust 1.0 Abstraction without overhead: traits in Rust Rust Once, Run Everywhere Mixing matching, mutation, and moves in Rust Fearless Concurrency with Rust Announcing Rust 1.0 Beta Announcing Rust 1.0.0.alpha.2 Rust 1.0: status report and final timeline Rust 1.0: Scheduling the trains Yehuda Katz and Steve Klabnik are joining the Rust Core Team Cargo: Rust's community crate host Stability as a Deliverable Road to Rust 1.0
Announcing Rust 1.0 Alpha
The Rust Cor · 2015-01-09 · via Rust Blog

Today, we're excited to release the alpha version of Rust 1.0, a systems programming language with a focus on safety, performance and concurrency.

This release marks a huge milestone for Rust and its community:

  • The language is feature-complete for 1.0. While we plan to make many usability improvements before the final release, all 1.0 language features are now in place and we do not expect major breaking changes to them.

  • The core libraries are feature-complete for 1.0. API conventions have been firmly established, and core functionality -- basic types, traits, data structures and concurrency primitives -- has all been stabilized. Here again we do not expect major breaking changes before 1.0.

The Rust community really rolled up their sleeves to help push this release over the finish line; thanks to everyone who participated, and especially to the friends of the tree!

While we've come a long way in the last four months, there's a lot left to do before Rust hits 1.0 final. Read on for more.

What happens during the alpha cycle?

If you're already a Rust user, the first thing you'll notice during the alpha cycle is a dramatic drop in the pace of breaking changes.

Most features and modules that will ship with Rust 1.0 are in place and will change in only limited ways during this cycle, as detailed later in this post. Only a few modules -- the key ones being path manipulation and I/O -- are still stabilizing.

We need your help to iterate on those final libraries before the beta release, and to hammer out any remaining issues on the parts of Rust we have already marked as stable. During the alpha cycle, we recommend using the nightly releases, which will continue to evolve as these APIs take their final shape.

The alpha release is part of our transition into stability guarantees. While we're not ready to make full stability guarantees yet, this release cycle moves us much closer to that 1.0 goal. When 1.0-beta1 is released six weeks from now, these important remaining APIs will be stable. Code that compiles on the beta release should do so with minimal changes on 1.0 final as well.

What's shipping in alpha?

Since the previous release, we've made an enormous amount of progress. We'll cover a few of the highlights here; the full details are in the release notes.

Language features

  • Dynamically-sized types (DSTs): Types whose size is only known at runtime (such as array slices and trait objects) are now largely integrated into the language, including basic integration with user-defined smart pointers. Implemented by Nick Cameron; rolled out by Jorge Aparicio.

  • Multidispatch traits: Trait implementations can now be selected via multiple types (not just Self), which has opened the door to many interesting APIs. Implemented by Niko Matsakis; rolled out by Jorge Aparicio and Aaron Turon.

  • Associated types: Traits can now have associated types, which cuts down on verbosity with generics and aids type inference. Implemented by Patrick Walton, Niko Matsakis, and Nick Cameron; rolled out by Jorge Aparicio.

  • Where clauses: A powerful new way of specifying trait bounds, where clauses have landed and enabled some significant simplifications in the standard library. Implemented by Niko Matsakis, Patrick Walton, and Jared Roesch; rolled out by Jorge Aparicio and Aaron Turon.

  • "Unboxed" closures: Closures are now just another way of using the trait system, which required adding higher-ranked lifetimes; this allows much greater flexibility for both ownership and choosing static or dynamic dispatch. Implemented by Patrick Walton, Brian Koropoff and Niko Matsakis; rolled out by Jorge Aparicio.

  • Macros: The macro_rules system has been significantly revised, cleaning up a number of rough edges and future-proofing in various ways. While macros suffer from some significant deficiencies, the macro system is a powerful and important part of Rust programming that will ship with 1.0. We plan to build a second-generation macro system after the 1.0 release. Implemented by Keegan McAllister and Corey Richardson.

  • Integer type changes: The long-running debate about integer types was recently resolved: int and uint are now known as isize and usize, and no longer suggest the role of "default integer" in Rust. Credit goes to the entire community for the vigorous debate.

  • Opt-in builtin traits: The marker traits that Rust uses to classify data as copyable, thread-safe, and so forth have been significantly refactored to have safer, more predicable defaults. Implemented by Patrick Walton and Flavio Percoco Premoli.

All of these language features have been rolled out throughout the standard library.

Library features

  • Consistent conventions: A large number of conventions RFCs have been approved, and are largely summarized in the Rust Guidelines; these conventions have been rolled out through all #[stable] parts of std. Led by Aaron Turon.

  • Stable core types and traits: All of the primitive types and basic building blocks (like char, String, Vec, Box, Arc, RefCell and so on) are now #[stable]. Stabilized by Aaron Turon, Alex Crichton, Brian Anderson, Brendan Zabarauskas and Huon Wilson.

  • Iterators and collections: A series of RFCs have been implemented to revamp and stabilize the collections APIs; iterators are also #[stable]. RFCs by Aaron Turon and Alexis Beingessner, stabilized together with Chase Southwood, Piotr Czarnecki, Félix Raimundo, Clark Gaebel and others.

  • Concurrency primitives: Rust's concurrency modules have seen an overhaul, including thread-local storage, synchronization primitives, and a new thread API that will soon allow child threads to share data on their parent's stack. These APIs are more efficient and idiomatic than previous versions, and most are already #[stable]. Implemented by Alex Crichton and Aaron Turon.

  • Runtime freedom: Rust's runtime system and green-threading model has been entirely removed, which cut the static binary size of "hello world" in half and has opened the door to lower-level hooks into the standard library. Implemented by Aaron Turon.

Documentation

  • The Rust Programming Language: The previous split between "The Guide" and "The guides" has been rectified by combining them into "The book". Led by Steve Klabnik.

  • Rust by Example: The lovely https://rustbyexample.com/ introduction to Rust is now part of the official documentation. Initiated by Jorge Aparicio.

  • Additional API documentation: A lot of work has gone into improving API documentation, both by expanding the overview text and adding examples throughout. Credit goes to the entire community, who worked tirelessly to improve these docs.

What remains to be done?

A detailed list of possible breaking changes to stable features/APIs can be found here. Below is a list of major areas of improvement for the alpha cycle:

  • Improvements to associated types and unboxed closures: Both of these features are functional, but we plan to make significant ergonomic improvements during the beta cycle, such as more sophisticated capture-clause inference and more uniform support for shorthands like X::Type.

  • Improvements to generics: We will explore avenues to cut down on the number of redundant trait bounds that are currently required.

  • Path reform: The path module will soon be reformed to make use of DST, to give a better account of platform differences, and to more closely align with the new C++ standard. Implementation work is largely complete, and the rollout should occur soon after alpha.

  • IO reform: An overhaul of the IO APIs is being planned; please join in the conversation! These changes will be landing throughout the alpha cycle.

  • Sync/Send changes: We plan to tweak the definitions of the Sync and Send markers so that threads can share stack data. This may cause some minor breakage.

  • Integer type auditing: During the alpha cycle, we will finalize formal conventions for choosing integer types and re-audit the use of these types in std. This auditing may cause some breakage to #[stable] APIs.

  • Documentation for all features: Some recent feature additions, such as associated types and unboxed closures, have their RFC as the only documentation. User-facing documentation for these features will be added during the alpha cycle. The reference will likewise be brought up to date and improved.

  • Complete API documentation: Everything marked stable will have at least a usage example, and hopefully complete textual explanation, before beta.

And, of course, we will continue to fix bugs and add polish throughout the alpha cycle.

Contributors to Rust 1.0.0-alpha

This alpha release could not have happened without the help of Rust's enthusiastic community. Thanks go to:

  • Aaron Friel
  • Aaron Liblong
  • Aaron Turon
  • Aaron Weiss
  • Adam Szkoda
  • Adolfo Ochagavía
  • Adrien Tétar
  • Aidan Cully
  • A.J. Gardner
  • Akos Kiss
  • Aleksandr Koshlo
  • Alexander Light
  • Alex Crichton
  • Alex Gaynor
  • Alexis Beingessner
  • Alex Lyon
  • Alfie John
  • Andrea Canciani
  • Andrew Cann
  • Andrew Paseltiner
  • Andrew Wagner
  • areski
  • Ariel Ben-Yehuda
  • Artem
  • Arthur Liao
  • arturo
  • Austin Bonander
  • Barosl Lee
  • Ben Foppa
  • Ben Gamari
  • Ben S
  • Bheesham Persaud
  • Björn Steinbrink
  • bluss
  • Boris Egorov
  • bors
  • Brandon Sanderson
  • Brendan Zabarauskas
  • Brian Anderson
  • Brian J Brennan
  • Brian Koropoff
  • Carol Nichols
  • Chase Southwood
  • Chris Morgan
  • Chris Wong
  • Clark Gaebel
  • Cody P Schafer
  • Colin Sherratt
  • Corey Farwell
  • Corey Ford
  • Corey Richardson
  • crhino
  • Cristi Burcă
  • Damien Radtke
  • Dan Burkert
  • dan@daramos.com
  • Daniel Hofstetter
  • Daniel Micay
  • Dan Luu
  • David Creswick
  • Davis Silverman
  • Diego Giagio
  • Dirk Gadsden
  • Dylan Ede
  • Earl St Sauver
  • Eduard Burtescu
  • Eduardo Bautista
  • elszben
  • Eric Allen
  • Eric Kidd
  • Erick Tryzelaar
  • Erwan
  • Fabrice Desré
  • FakeKane
  • Falco Hirschenberger
  • Felix Raimundo
  • Felix S. Klock II
  • Flavio Percoco
  • Florian Gilcher
  • Florian Hahn
  • Florian Wilkens
  • gamazeps
  • Gil Cottle
  • Gleb Kozyrev
  • Graham Fawcett
  • Guillaume Pinot
  • Huon Wilson
  • Ian Connolly
  • inrustwetrust
  • Ivan Petkov
  • Ivan Ukhov
  • Jacob Edelman
  • Jake Goulding
  • Jakub Bukaj
  • James Miller
  • Jared Roesch
  • Jarod Liu
  • Jashank Jeremy
  • Jauhien Piatlicki
  • jbranchaud
  • Jeff Parsons
  • Jelte Fennema
  • jfager
  • Jim Apple
  • jmu303
  • Johannes Hoff
  • Johannes Muenzel
  • John Albietz
  • John Gallagher
  • John Kåre Alsaker
  • John Kleint
  • Jonathan Reem
  • Jonathan S
  • Jon Haddad
  • JONNALAGADDA Srinivas
  • Joonas Javanainen
  • Jorge Aparicio
  • Joseph Crail
  • Joseph Rushton Wakeling
  • Josh Haberman
  • Josh Stone
  • Joshua Yanovski
  • jrincayc
  • Julian Orth
  • juxiliary
  • jxv
  • Kang Seonghoon
  • Kasey Carrothers
  • Keegan McAllister
  • Ken Tossell
  • Kevin Ballard
  • Kevin Mehall
  • Kevin Yap
  • klutzy
  • kulakowski
  • Laurence Tratt
  • Liigo Zhuang
  • Lionel Flandrin
  • Luke Metz
  • Luqman Aden
  • Manish Goregaokar
  • Markus Siemens
  • Martin Pool
  • Marvin Löbel
  • Matej Lach
  • Mathieu Poumeyrol
  • Matt McPherrin
  • Matt Murphy
  • Matt Windsor
  • Maxime Quandalle
  • Maximilian Haack
  • Maya Nitu
  • mchaput
  • mdinger
  • Michael Gehring
  • Michael Neumann
  • Michael Sproul
  • Michael Woerister
  • Mike Dilger
  • Mike Pedersen
  • Mike Robinson
  • Ms2ger
  • Mukilan Thiyagarajan
  • Murarth
  • Nafis
  • Nathan Zadoks
  • Neil Pankey
  • Nicholas Bishop
  • Nick Cameron
  • Nick Howell
  • Niels Egberts
  • Niko Matsakis
  • NODA, Kai
  • OGINO Masanori
  • oli-obk
  • Oliver Schneider
  • olivren
  • P1start
  • Pascal Hertleif
  • Patrick Walton
  • Paul Collier
  • Pedro Larroy
  • Peter Atashian
  • Peter Elmers
  • Phil Dawes
  • Philip Munksgaard
  • Philipp Gesang
  • Piotr Czarnecki
  • Piotr Jawniak
  • Piotr Szotkowski
  • qwitwa
  • Raphael Speyer
  • Ray Clanan
  • Richard Diamond
  • Richo Healey
  • Ricky Taylor
  • rjz
  • Robin Gloster
  • Robin Stocker
  • Rohit Joshi
  • Rolf Timmermans
  • Rolf van de Krol
  • Roy Crihfield
  • Ruud van Asseldonk
  • Sean Collins
  • Sean Gillespie
  • Sean Jensen-Grey
  • Sean McArthur
  • Sean T Allen
  • Seo Sanghyeon
  • Seth Pollack
  • sheroze1123
  • Simonas Kazlauskas
  • Simon Sapin
  • Simon Wollwage
  • Son
  • Stefan Bucur
  • Stepan Koltsov
  • Steve Klabnik
  • Steven Fackler
  • Stuart Pernsteiner
  • Subhash Bhushan
  • Tamir Duberstein
  • Taylor Hutchison
  • th0114nd
  • thiagopnts
  • Timon Rapp
  • Titouan Vervack
  • Tobias Bucher
  • Tom Jakubowski
  • tshakah
  • Tshepang Lekhonkhobe
  • Ulysse Carion
  • Utkarsh Kukreti
  • Vadim Chugunov
  • Vadim Petrochenkov
  • Valerii Hiora
  • Victor Berger
  • Victor van den Elzen
  • Viktor Dahl
  • ville-h
  • Vitali Haravy
  • Vladimir Matveev
  • Vladimir Smola
  • we
  • whataloadofwhat
  • YawarRaza7349
  • York Xiang
  • Zbigniew Siciarz
  • Ziad Hatahet