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

推荐订阅源

B
Blog
V
Vulnerabilities – Threatpost
Apple Machine Learning Research
Apple Machine Learning Research
V
V2EX
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志
人人都是产品经理
人人都是产品经理
Latest news
Latest news
博客园 - 三生石上(FineUI控件)
美团技术团队
aimingoo的专栏
aimingoo的专栏
Google Online Security Blog
Google Online Security Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
T
Threatpost
Y
Y Combinator Blog
T
Tailwind CSS Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
A
Arctic Wolf
C
Cyber Attacks, Cyber Crime and Cyber Security
小众软件
小众软件
Recent Commits to openclaw:main
Recent Commits to openclaw:main
T
Tenable Blog
W
WeLiveSecurity
L
LINUX DO - 热门话题
D
Docker
Cyberwarzone
Cyberwarzone
量子位
A
About on SuperTechFans
The Last Watchdog
The Last Watchdog
雷峰网
雷峰网
C
CERT Recently Published Vulnerability Notes
P
Palo Alto Networks Blog
The Hacker News
The Hacker News
Blog — PlanetScale
Blog — PlanetScale
P
Proofpoint News Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
F
Full Disclosure
The Cloudflare Blog
T
The Blog of Author Tim Ferriss
T
The Exploit Database - CXSecurity.com
Engineering at Meta
Engineering at Meta
O
OpenAI News
Hacker News - Newest:
Hacker News - Newest: "LLM"
Scott Helme
Scott Helme
IT之家
IT之家
S
Secure Thoughts
MongoDB | Blog
MongoDB | Blog
L
Lohrmann on Cybersecurity
博客园 - 司徒正美
Google DeepMind News
Google DeepMind News

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 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 Announcing Rust 1.0 Alpha 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.14
The Rust Core Team · 2016-12-22 · via Rust Blog

The Rust team is happy to announce the latest version of Rust, 1.14.0. Rust is a systems programming language focused on safety, speed, and concurrency.

As always, you can install Rust 1.14.0 from the appropriate page on our website, and check out the detailed release notes for 1.14.0 on GitHub. 1230 patches were landed in this release.

What's in 1.14.0 stable

One of the biggest features in Rust 1.14 isn't actually in the language or compiler: the rustup tool has reached a 1.0 release, and is now the recommended way to install Rust from the project directly. Rustup does a bit more than just install Rust:

rustup installs The Rust Programming Language from the official release channels, enabling you to easily switch between stable, beta, and nightly compilers and keep them updated. It makes cross-compiling simpler with binary builds of the standard library for common platforms. And it runs on all platforms Rust supports, including Windows.

We had a previous post about Rustup back in May. You can learn more about it there, or by checking it out on GitHub.

Another exciting feature is experimental support for WebAssembly as a target, wasm32-unknown-emscripten. It is still early days, and there's a lot of bugs to shake out, so please give it a try and report them! To give you a small taste of how it works, once you have emscripten installed, compiling some Rust code to WebAssembly is as easy as:

$ rustup target add wasm32-unknown-emscripten
$ echo 'fn main() { println!("Hello, Emscripten!"); }' > hello.rs
$ rustc --target=wasm32-unknown-emscripten hello.rs
$ node hello.js

The community has been doing interesting, experimental work in this area: see Jan-Erik's slides for the workshop he ran at Rust Belt Rust for some examples, or check out Tim's example of the classic TodoMVC project. This implementation builds off of his webplatform crate, which exposes the DOM to Rust.

Speaking of platforms, a large number of platforms have gained additional support:

For rustc:

  • mips-unknown-linux-gnu
  • mipsel-unknown-linux-gnu
  • mips64-unknown-linux-gnuabi64
  • mips64el-unknown-linux-gnuabi64
  • powerpc-unknown-linux-gnu
  • powerpc64-unknown-linux-gnu
  • powerpc64le-unknown-linux-gnu
  • s390x-unknown-linux-gnu

And for std:

  • arm-unknown-linux-musleabi
  • arm-unknown-linux-musleabihf
  • armv7-unknown-linux-musleabihf

If you're using one of these platforms, follow the instructions on the website to install, or add the targets to an existing installation with rustup target add.

These platforms are all 'tier 2', please see our page on platform support for more details.

Just like how the community is doing interesting work on the WebAssembly target, there's also neat things going on with increasing Rust's target support beyond what's listed above. xargo allows for easy cross-compilation of Rust to bare-metal targets. If you're writing an operating system in Rust, or doing something interesting on a microcontroller, xargo can make your life a lot simpler.

The landing of MIR over the last few releases means that a number of improvements to compile times have landed, with more coming in the future.

In the language, one small improvement has landed: support for RFC 1492. This small addition lets you use .. in more places. Previously, say you had a struct like this:

struct Point {
    x: i32,
    y: i32,
    z: i32,
}

In any context where you're doing a pattern match, you could use .. to ignore the parts you don't care about. For example:

let p = Point { x: 0, y: 1, z: 2 };

match p {
    Point { x, .. } => println!("x is {}", x),
}

The .. ignores y and z.

Consider a similar Point, but as a tuple struct:

struct Point(i32, i32, i32);

Previously, you could use .. to ignore all three elements:

let p = Point(0, 1, 2);

match p {
    Point(..) => println!("found a point"),
}

But you could not use it to only ignore parts of the tuple:

let p = Point(0, 1, 2);

match p {
    Point(x, ..) => println!("x is {}", x),
}

This was an inconsistency, and so with RFC 1492 stabilized, compiles fine as of this release. This applies to more situations than tuples; please see the RFC for more details.

Library stabilizations

There have been a number of additions to the standard library, but they don't fit into particularly nice categories for this release. Here's the highlights:

See the detailed release notes for more.

Cargo features

As for Cargo, RFC 1721 has been implemented. Cargo will now pass along the values printed by rustc --print cfg to build scripts. The motivation for this feature is that Cargo can now compile objects for statically linking against the msvcrt on the MSVC platform.

Cargo now works properly with a read-only CARGO_HOME.

Finally, Cargo will ignore the panic configuration for the test and bench profiles. This is important because the test runner relies on panics counting as failing tests, and so with panic=abort, a failing test would abort the entire test suite.

See the detailed release notes for more.

Contributors to 1.14.0

We had 144 individuals contribute to 1.14.0. Thank you so much!

  • Abhishek Chanda
  • Adam Perry
  • Ahmed Charles
  • Aidan Hobson Sayers
  • Aleksey Kladov
  • Alexander von Gluck IV
  • Alex Burka
  • Alex Crichton
  • Alex von Gluck IV
  • Amanieu d'Antras
  • Andrea Corradi
  • Andrea Pretto
  • Andreas Sommer
  • Andre Bogus
  • Andrew Paseltiner
  • angelsl
  • Anthony Ramine
  • Ariel Ben-Yehuda
  • arthurprs
  • Austin Hicks
  • bors
  • Brian Anderson
  • Bunts Thy Unholy
  • CensoredUsername
  • Chris McDonald
  • Christopher
  • christopherdumas
  • Christopher Serr
  • Cobrand
  • Corey Farwell
  • Cristi Cobzarenco
  • Daan Sprenkels
  • Danny Hua
  • David Henningsson
  • Devon Hollowood
  • Dmitry Gritsay
  • Dominik Inführ
  • Duncan
  • Eduard Burtescu
  • Eduard-Mihai Burtescu
  • Eric Roshan-Eisner
  • est31
  • Fabian Frei
  • Federico Mena Quintero
  • Felix S. Klock II
  • Florian Diebold
  • Florian Hartwig
  • Florian Zeitz
  • Frank Rehberger
  • Gavin Baker
  • Geoffry Song
  • Guillaume Gomez
  • iirelu
  • James Miller
  • Jan-Erik Rediger
  • Jared Roesch
  • Jeffrey Seyfried
  • Jesus Garlea
  • Jethro Beekman
  • Joe Neeman
  • Johannes Muenzel
  • John Firebaugh
  • John Hodge
  • johnthagen
  • Jonas Schievink
  • Jonathan Turner
  • Jorge Aparicio
  • Josh Stone
  • Josh Triplett
  • Keegan McAllister
  • Keith Yeung
  • KillTheMule
  • Konrad Borowski
  • leonardo.yvens
  • Liigo Zhuang
  • loggerhead
  • Manish Goregaokar
  • Marcin Fatyga
  • Mark-Simulacrum
  • Martin Glagla
  • Martin Thoresen
  • Mathieu Borderé
  • Mathieu Poumeyrol
  • Matt Brubeck
  • Matthew Piziak
  • Matwey V. Kornilov
  • mcarton
  • Michael Woerister
  • Mikhail Modin
  • Mikko Rantanen
  • msiglreith
  • Nabeel Omer
  • Nathan Musoke
  • Nicholas Nethercote
  • Nick Cameron
  • Nick Fitzgerald
  • Nick Stevens
  • Nikhil Shagrithaya
  • Niko Matsakis
  • Oliver Middleton
  • p512
  • ParkHanbum
  • Paul Lange
  • Paulo Matos
  • Paul Osborne
  • Peter Atashian
  • Peter N
  • Philip Davis
  • Pieter Frenssen
  • Pweaver (Paul Weaver)
  • pweyck
  • QuietMisdreavus
  • Raph Levien
  • Razican
  • Robin Stocker
  • Ross Schulman
  • Ryan Senior
  • Scott Olson
  • Seo Sanghyeon
  • Simonas Kazlauskas
  • Simon Sapin
  • Srinivas Reddy Thatiparthy
  • Stefan Schindler
  • Stephen M. Coakley
  • Steve Klabnik
  • Steven Fackler
  • Tamir Duberstein
  • Taylor Cramer
  • Tim Neumann
  • Tobias Bucher
  • Tomasz Miąsko
  • tormol
  • Tshepang Lekhonkhobe
  • Ulrik Sverdrup
  • Vadim Chugunov
  • Vadim Petrochenkov
  • Vadzim Dambrouski
  • Vangelis Katsikaros
  • Wang Xuerui
  • Wesley Wiser
  • Zack M. Davis
  • Zoffix Znet
  • Артём Павлов [Artyom Pavlov]
  • 石博文