April Rust official update

Editor: Zhang Handong


Rust 2021 Edition Release schedule

The Rust 2021 Edition program

An introduction to the Board members of the Rust Foundation

From 2021.03.18 to 2021.04.22, the Rust Foundation’s official website introduces ten board members (currently 11 in total). Here is a brief introduction:

Rust Foundation Board

Bobby Holley

She works in the Office of Mozillian Firefox CTO in technical strategy and coordination. Member Director of the Rust Foundation.

Tyler Mandry

He works for Google Fuchsia. He has led the Rust on Fuchsia team since early 2020. Contributed a lot to Rust, such as async/await compiler optimization, directed efforts (such as source-based code coverage) and led the Asynchronous Foundation working group. As a Project Director at the Rust Foundation, I am responsible for engineering quality.

Mark Rousskov

He is the Project Director of the Rust Foundation and represents the Rust Core team. Mark sees the significance of the Rust Foundation as: defining Rust’s values and goals: to develop sustainable, effective models for open collaboration across the globe and to build Bridges between communities.

Nell Shamrell-Harrington

He is a Member of the Rust Async Foundations Working Group at Microsoft. He is now a Member Director of the Rust Foundation. Nell was a member of the Mozilla Rust team. After downsizing in August 2020, I had the opportunity to join Microsoft as a lead software engineer in the Office of Open Source Initiatives.

He said,

“There has been a real shift in Microsoft’s attitude towards open source. Microsoft understands that open source software is critical to its success as a business and to the success of our customers. In addition, Microsoft has learned that in order for the projects we depend on to succeed, we must act as open source citizens by example and engage meaningfully with the open source community. This includes making a donation as a sponsor of the Rust Foundation. It also includes engineering work on the Rust project to make it better not only for Microsoft, but for all Rustaceans around the world. Microsoft welcomes the opportunity to interact with and give back to the community and looks forward to working closely with the maintainers of Rust on compilers, core tools, documentation, and more.”

“Part of my role at the Rust Foundation is to represent the interests of Microsoft to the Rust community, but it is more important to me to represent and defend the interests of the maintainers of Rust and the community to Microsoft. It’s not always easy to understand and balance these requirements and find common ground, but that’s what Rustaceans does every day in the RFC process. We have a lot of opportunities to learn from each other, build from each other, and design solutions that we never considered before.”

Florian Gilcher

He is the Project Director of the Rust Foundation and represents the Rust Core team. Rust Berlin, co-founder of RustFest and OxidizeConf conferences. He was also an active Ruby developer, leading the development of the Padrino framework. I first wrote Rust code in 2013. Since 2015, Rust has been professionally taught and co-maintained open source training materials. In 2018, I went all out and co-founded Ferrous Systems, a company dedicated to helping the industry adopt Rust by spreading knowledge, practicing and improving Rust itself.

Hou Peixin

I work for Huawei. Member Director of the Rust Foundation. Huawei uses the Rust language because the Rust language is secure by default and applies to the C/Cpp domain. As an ICT infrastructure provider, Performance and security are basically the two basic benchmarks of Rust, so Huawei hopes to invest in Rust language and use it widely in its products. Huawei as the sole strategic sponsor.

He said:

“For Huawei, the areas we will invest in in the community include numerical computing, robotics, virtualization and other projects. As the only platinum founding member in China to date, we also hope to work with all partners to promote Rust, which may include building local infrastructure such as crates. IO and local CI for better access and availability, translating more documents into Chinese and promoting more activities. Last but not least, we are eager to have more Rust talent in the EU, North America to join us.”

Jane Lusby

Jane is the lead of the Rust error Handling project, as well as a member of the Clippy and WG-Traits teams. She is the Project Director of the Rust Foundation, where she is responsible for Project collaboration.

Shane Miller

Shane currently leads AWS’s Rust platform team. She has been creating her own unique career path for about 30 years. She was a high school dropout, Smalltalk Principal engineer, college math major, retail business owner, political consultant, engineering manager, and AWS Principal Technical Project Manager and senior engineering Manager.

She is a Member Director of the foundation.

She said:

“As a director on the foundation’s board, I envision the Foundation as an organization that provides support from my own AWS team to the Rust project maintainers. As we eliminate out-of-pocket costs for maintainers of computing, storage, and productivity tools, we will make Rust truly accessible. We can also provide access to resources, such as leadership and communication training, that can help Rust’s maintainers develop themselves and their teams.

What I’m excited about about the foundation is that it gives me a mechanism to contribute to our community in a different way. I have a lot of experience delivering large-scale software. Before returning to the engineering manager role, I was the lead Technical project Manager at AWS. I started services that covered organizations and regions. I know how difficult it is to combine complexity and scale to succeed, and I look forward to helping our community simplify some of that complexity.

In the words of Seth Godwin: “What do we do for a living? What we do is try to change everything. We try to find the status quo, the things that bother us, the things that need to be improved, the things that need to be changed, and then we change. We’re trying to make big, permanent, important changes.”

Let’s build communities and technology that will perpetuate all of us.”

Josh Stone

As the Project Director of the Foundation, I am responsible for the reliability area. He is currently on the Rust Publishing team, as well as being a member of the Security Response Working Group and compiler team contributors, with an emphasis on the LLVM Working group.

“I hope these roles have prepared me for the role of reliability program director,” he says. We always want Rust to be “up and running,” so you’re free to update to the latest version without worrying about performance degradation. Our track record is good, but it’s certainly not perfect, and I’ll be looking for ways to track and improve it. Services such as crates. IO and docs. Rs are also important, not only for uptime but also for wide accessibility. I have less experience with this kind of infrastructure, but I’m definitely open to suggestions.”

Lars Bergstrom

He works for Google as the engineering director of programming languages for Android, and his team is currently using Cpp/Java/Kotlin/Rust. Improving memory security in the most performance-sensitive code is critical to Android, both to ensure user safety and to reduce the number of emergency security updates. Currently, I am serving as a Member Director of the Foundation.

Prior to joining Google, he worked at Mozilla (since 2013) on Servo browser engine development.

He said:

“It is hoped that the Foundation will help Rust develop new partnerships around the activities being undertaken by many individuals and companies that will benefit the entire community. For example, most companies perform additional security checks, license/code validation, and performance analysis internally for each Crate import/update, but today this information is not shared externally. Furthermore, while it is ideal to write new projects in Rust, for most of us we need to integrate Rust into existing systems — many of which are C++, and each uses a unique set of features that present challenges for effective integration with Rust. Working across companies, we can build solutions that are applicable to the entire industry. Finally, for many critical systems, such as device drivers, formal validation that Rust developers can access can help us eliminate more than just memory security issues in software systems.”

Facebook joined the Rust Foundation

Like other foundation members, Facebook is committed to sustaining and growing the Rust open source ecosystem and community.

“Facebook has embraced Rust since 2016 and uses it in every aspect of development, from source control to compilers,” said Joel Marcey, head of Facebook’s open source ecosystem and now chairman of the Board of the Rust Foundation. “We are joining the Rust Foundation to help contribute, improve and grow the language that has become so valuable to us and to developers around the world. We look forward to working with other foundation members and the Rust community to make Rust the mainstream language of choice for systems programming and beyond.”

Facebook will strengthen internal developer support for Rust in 2021. In addition to the various teams within the company writing Rust code, there is now a dedicated Rust team responsible for the development of Rust development within the company, including open source contributions. Join Rust and Rust-based projects and interact with the Rust community.

Developers.facebook.com/blog/post/2…

The Rust Foundation has added four silver members

  • Zama, building open source homomorphic encryption solutions for data science and AI. From cryptographic libraries to machine learning frameworks, they use Rust all the time.
  • Ferrous Systems, which provides training and services to improve the Rust ecosystem and employs maintainers of the Rust compiler. It also enables Rust on Embedded by providing important ecosystem tools (such as Knurling) and co-maintenance libraries (such as NRF-HAL) for Embedded Spaces. Their current signature project is ferrocene to enable Rust in safety-critical Spaces.
  • Tag1Consulting, a global technology consulting firm, is a passionate advocate of supporting the open source projects they rely on. They rely on Rust for projects such as Goose.RS, a highly extensible load testing tool inspired by the Python-based Locust Framework.
  • CleverClound, is an IT automation platform that has been present in the Rust community since Rust was founded. They are proud to have contributed to many Rust open source projects, such as NOM, SOZU and many others.

Foundation.rust-lang.org/posts/2021-…

The Rust Compiler team plans for April

On 15 April 2021, Felix Klock on, on behalf of the Rust Compiler team, published the Rust Compiler April Steering Cycle to schedule the Rust Compiler workshop in April.

Here is the transcript:

  • On The second Friday of April 9, 2021, the Rust compiler team held its April planning meeting for the Compiler’s Steering Cycle.
  • Every fourth Friday, the Rust compiler team decides how to use the scheduled guidance and design meeting time for the next three Fridays.
  • On Friday, April 23, 2021, we will be holding a meeting to discuss a set of guidelines for compiler contributors.
  • On Friday, April 30, 2021, we will hold a meeting to discuss the weekly compiler performance classification process.

Both meetings will be held at 2-3 PM GMT, live at T-Compiler/Meetings Zulip Stream.

Niko is leaving the Rust core team to focus on Rust language design

Niko Matsakis is stepping down from the Rust Core team to focus on leading the Rust Language team. Niko Matsakis has done a lot of work on the Rust project over the years. Niko has been part of the core team since the beginning and has played a key role in Rust’s governance process. The Rust team is excited to see what features Niko will bring to the new focus of focus!

Niko wrote on his blog:

“I plan to focus all of my efforts on my role as language design team lead and technical lead on the AWS Rust Platform team.

I hope to do more product planning, such as asynchronous vision documents, to help Rust build a consistent vision for its future. I also look forward to continuing to explore ways to expand the Lang team, improve RFC processes and help the team function properly.”

Smallcultfollowing.com/babysteps/b…

Rust GAT is one step closer to stability

Bug #81823 has been fixed and there are only three remaining bugs blocking GAT.

Github.com/rust-lang/r…

Brainstorming underway: The future of Async Rust shines

Brainstorming Async Rust’s Shiny Future Niko Matsakis, on behalf of Async Foundation Working Group, published article Brainstorming Async Rust’s Shiny Future on April 14, 2021

On March 18, we announced the start of the process of building a shared vision document for Async Rust. Since then, we’ve received 24 “status quo” stories. There are also four stories in open PRs (OPEN PRs); Ryan Levick and I have also hosted more than 10 collaborative writing sessions over the past few weeks.

Reading:

  • The original
  • The translation

Rustc_codegen_cranelift Progress Report

  • Removed support for the old Cranelift backend
  • Atomic operations are implemented using native atomic instructions rather than being emulated using global locks
  • Cross-compile to Windows using MinGW
  • Run ruSTC test suite on CI

Next challenges:

  1. Windows support for MSVC toolchain

Cranelift does not yet support TLS for COFF/PE object files. This means that unlike MinGW, which uses the PThread key to implement TLS, there is currently no way to compile for MSVC.

  1. SIMD

Much platform instruction support is still not implemented.

Bjorn3. Making. IO / 2021/04/13 /…

Miri now supports running DocTests

Miri is an experimental Rust MIR interpreter. It can run Rust binaries, test them, and check for undefined behavior ref.

With the support for DocTests, the tests performed by Cargo Miri test are the same as those performed by Cargo Test.

Github.com/rust-lang/m…

The compiler team has a new member, Aaron Hill

Since its inception in 2017, Aaron Hill (@Aaron1011) has been contributing to many different parts of the compiler. More recently, Aaron has been working on discovering and fixing error and correctness issues in incremental systems, cleaning up and improving macro scaling and hygiene, and other bug fixes. In addition to the compiler, Aaron also implemented support for expansion in Miri, generation of automatic feature documents, and future incompatible reports in Cargo.

Blog.rust-lang.org/inside-rust…

Rustup 1.24.1 release

After Rustup 1.24.0 was released, it was discovered that cargo FMT was not available due to a code error and was rolled back to 1.23.1. This Bug is now fixed in 1.24.1.

Blog.rust-lang.org/2021/04/29/…

Introduce TurboWish

TurboWish is the umbrella name for a set of tools planned by compiler team Leader PN Felix and his Amazon Web Services team to understand the dynamic behavior of Rust programs. They want these tools to be particularly focused on insights about program performance characteristics.

Objective Description:

  • Profile Production Code: The overhead of incorporating the TurboWish framework is low: it can be incorporated into Production Code without excessive maintenance overhead or significant performance overhead.

  • Domain-specific Feedback: Frameworks and applications can provide data for specialized metrics that are specific to their internal architecture.

  • Understand Hidden Costs and Connections: Frameworks like Tokio make it easy to write asynchronous code because they hide many details after abstraction (such as generator code generated by the Rust compiler, or task queues managed by the Tokio runtime). TurboWish exposes those hidden details so developers can associate them with other program events. It also exposes the connections that humans often have to manually reconstruct (for example, from never-coming resources to future chains that might produce gridlock), making it possible to see how resources are held in object graphs directly from Rust’s ownership model.

  • Framework Agnostic: Many users of Rust use Tokio, but not all. Async-std and FuschiA_Async are other frameworks for asynchronous programming. TurboWish can provide value for any such framework (although frame-specific functionality can also be provided when guaranteed). For our initial release, we could just focus on Tokio, but expect to integrate with others if Tokio proves successful.

  • EC2 Instance Type Agnostic: If we use any OS-specific features (such as dTrace probes), they will be available on all EC2 AL2 instances regardless of the Instance Type. (In particular, we cannot require access to CPU performance counters.)

  • Part 1: blog.pnkfx.org/blog/2021/0…

  • Part 2: blog.pnkfx.org/blog/2021/0…

The April issue of Rust Chinese