Rust official news in April
Editor: Zhang Handong
Rust 2021 Edition release plan
A brief introduction to the board members of the Rust Foundation
From 2021.03.18 to 2021.04.22, the official website of the Rust Foundation introduces ten directors (currently a total of 11) members of the board of directors. Here is a brief introduction:
Served in the Mozillian Firefox CTO office, engaged in technical strategy and coordination. Served as a Member Director in the Rust Foundation.
Worked for Google Fuchsia operating system. Started to lead the Rust on Fuchsia team in early 2020. Contributed a lot to Rust, such as async/await compiler optimization, directing work (such as code coverage based on source code) and leading the asynchronous foundation working group. Served as a Project Director in the Rust Foundation, responsible for engineering quality.
Served as a Project Director in the Rust Foundation and a representative of the Rust Core team. Mark believes that the significance of the Rust Foundation is to define Rust's values and goals: to develop sustainable and effective models, to conduct open cooperation on a global scale, and to build bridges between many communities.
Served at Microsoft, a member of the Rust Async Foundations working group, and now a Member Director of the Rust Foundation. Nell was once a member of the Mozilla Rust team. After layoffs in August 2020, he had the opportunity to join Microsoft and become the chief software engineer of the Office of the Open Source Program.
"Microsoft s attitude towards open source has truly changed. Microsoft understands that open source software is essential to its success as a business and to our customers success. In addition, Microsoft also understands that in order for the projects we rely on to succeed, we must Act as an open source citizen by example and have meaningful interactions with the open source community. This includes donations as a sponsor of the Rust Foundation. It also includes engineering work dedicated to the Rust project to make it not only better for Microsoft, but also It is also better for all Rustaceans in the world. Microsoft is very happy to have the opportunity to interact with the community and give back to the community, and looks forward to working closely with the maintainers of Rust on compilers, core tools, documentation, etc.".
"Part of the responsibility in the Rust Foundation is to represent Microsoft's interests to the Rust community, but for me, it is more important for me to represent and maintain the interests of Rust maintainers and communities to Microsoft. Understanding and balancing these needs and finding Common ground is not always easy, but this is what Rustaceans does every day in the RFC process. We have many opportunities to learn from each other, build each other, and design solutions that have never been considered before."
Served as a Project Director in the Rust Foundation and a representative of the Rust Core team. Rust Berlin, one of the founders of RustFest and OxidizeConf conferences. He was once an active Ruby developer, leading the development of the Padrino framework. The first Rust code was written in 2013. Since 2015, I have taught Rust professionally and jointly maintain 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 disseminating knowledge, practicing and improving Rust itself.
Served at Huawei. Served as a Member Director in the Rust Foundation. Huawei chose the Rust language because the Rust language is memory safe by default and its application scope matches the C/Cpp domain. As a supplier of ICT infrastructure, Huawei's performance and security are basically the two basic benchmarks of Rust, so it hopes to invest in the Rust language and widely use it in its products. Huawei is the sole strategic sponsor.
"For Huawei, the areas we will invest in the community include numerical computing, robotics, virtualization and other projects. As the only platinum founding member in China so far, we also hope to promote Rust with all our partners, which may include establishing local Infrastructure such as crates.io and local CI to achieve better access and usability, translate more documents into Chinese and promote more events. Last but not least, we aspire to have it in the EU, North America More Rust talents join us."
Jane is the lead of the Rust error handling project team and a member of the Clippy and wg-traits teams. She serves as the Project Director in the Rust Foundation and is responsible for project collaboration.
Shane currently leads the Rust platform team on AWS. For about 30 years, she has been creating her own unique career path. She used to be a high school dropout, Smalltalk chief engineer, university mathematics department, retail business owner, political consultant, engineering manager, and AWS's chief technical project manager and senior engineering manager.
She serves as a member director of the foundation.
"As a director of the foundation's board of directors, I envision that the foundation will become an organization that provides support from my own AWS team for the maintainers of the Rust project. When we eliminate the out-of-pocket expenses of the 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, which can help Rust maintainers develop themselves and their teams.
What I am excited about the foundation is that it provides me with a mechanism to contribute to our community in different ways. I have a lot of experience in delivering large-scale software. Before returning to the position of engineering manager, I was the chief technical project manager of AWS. I started a service covering 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 these complexities.
In the words of Seth Godwin: "What do we do to make a living? What we have to do is try to change everything. We are trying to find a status quo, that is, the things that bother us, the things that need improvement, and the things that need to be changed. Desire things, and then we make changes. We try to make major, permanent and important changes."
Let us build communities and technologies to make us all alive. "
Served as a project director in the foundation, responsible for the field of reliability. He is currently a member of the Rust release team, as well as a contributor to the Security Response Working Group and the Compiler Team, with a focus on the LLVM Working Group.
He said: "I hope these roles prepare me as a reliability project leader. We have always hoped that Rust can "operate normally", so you can update to the latest version freely without worrying about performance degradation. Our tracking The record is good, but of course it s not perfect. I will look for ways to track and improve it. Services such as crates.io and docs.rs are also important, not only in uptime but also in broad accessibility The same is true. I have less experience with this kind of infrastructure, but I am definitely willing to make suggestions."
Served in Goolge and is the engineering director of the Android platform programming language. His team is currently using Cpp/Java/Kotlin/Rust. Improving memory security in the most performance-sensitive code is essential to Android, not only to ensure user safety, but also to reduce the number of emergency security updates. Currently serving as a Member Director in the foundation.
Before joining Goolge, he has been working at Mozilla (beginning in 2013), engaged in the development of the Servo browser engine.
"I hope the foundation can help Rust develop new partnerships around the activities being carried out by many individuals and companies, so as to benefit the entire community. For example, most companies conduct additional security checks on the import/update of each Crate internally. License/code verification and performance analysis, but now this information is not shared externally. In addition, although it is ideal to write new projects in Rust, for most of us, we need to integrate Rust into existing systems -Many systems are C++, and each system uses a unique set of features that challenge effective integration with Rust. Cross-company cooperation, we can build solutions that are applicable to the entire industry. Finally, for many For critical systems (such as device drivers), the formal verification that Rust developers can access can also help us eliminate more problems in software systems other than memory security."
Facebook joined the Rust Foundation
Like other foundation members, Facebook is committed to maintaining and developing the Rust open source ecosystem and community.
Joel Marcey, Facebook s open source ecosystem leader and current chairman of the board of the Rust Foundation, said: Facebook has accepted Rust since 2016 and has used Rust in all aspects of development, from source code control to compilers. We are joining the Rust Foundation to help contribute, improve and develop this language, which has become so precious to us and developers around the world. We look forward to participating with other foundation members and the Rust community to make Rust a system programming and The mainstream language of choice in other fields."
Facebook will strengthen its internal developer support for Rust in 2021. In addition to the various teams in the company writing Rust code, there is now a dedicated Rust team that is mainly responsible for the development of the company's internal Rust development, including open source contributions. Join Rust and Rust-based projects, and interact with the Rust community.
The Rust Foundation adds four new silver members
- zama , build open source homomorphic encryption solutions for data science and AI. From encryption libraries to machine learning frameworks, they always use Rust.
- Ferrous Systems , by providing training and services to improve the Rust ecosystem, and hiring maintainers of the Rust compiler. It also enables Rust on Embedded by providing important ecosystem tools (such as knurling) and co-maintaining libraries (such as nrf-hal) for the embedded space. Their current landmark project is ferrocene to enable Rust in safety-critical spaces.
- Tag1Consulting , a global technology consulting company, is an ardent advocate of supporting the open source projects they rely on. They rely on Rust for some projects, such as goose.rs, which is a highly scalable load testing tool inspired by the Python-based Locust Framework.
- CleverClound is an IT automation platform that has existed in the Rust community since the establishment of Rust. They proudly contributed to many Rust open source projects such as nom, sozu and many others.
Rust compiler (Compiler) team plans in April
On April 15, 2021, Felix Klock on, on behalf of the Rust compiler team, published the blog post Rust Compiler April Steering Cycle, and arranged the schedule for the April seminar on the Rust compiler.
The following is the original content:
- On April 9, 2021, the second Friday of April, the Rust compiler team held an April planning meeting on the steering cycle of the compiler.
- Every fourth Friday, the Rust compiler team will decide how to use the scheduled guidance and design meeting time for the next three Fridays.
- On Friday, April 23, 2021, we will hold a meeting to discuss the topic: proposing 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.
The two meetings will be held at 2-3 pm GMT, and the live broadcast address is T-compiler/meetings zulip stream.
Niko quit the Rust core team and will focus on Rust language design
Niko Matsakis is gradually withdrawing from the Rust core team, and he will concentrate on leading the Rust language team. Over the years, Niko Matsakis has done a lot of work for the Rust project. From the beginning, Niko was a member of the core team and played a key role in Rust's governance process. Regarding what features Niko will bring to the new focus of focus, the Rust team is looking forward to it!
Niko said in his blog:
"I plan to concentrate all my energy on my role as the head of the language design team and the technical lead of the AWS Rust Platform team.
I hope to do more product plans, such as asynchronous vision documents, to help Rust establish a consistent vision for its future. I also hope to continue to study ways to expand the lang team, improve the RFC process and help the team operate normally. "
Rust GAT is one step closer to stability
The #81823 bug has been fixed, and currently there are only three bugs that hinder GAT.
Brainstorming in progress: Async Rust's future shines
Niko Matsakis, on behalf of the Async Foundation working group, published an article Brainstorming Async Rust's Shiny Future on April 14, 2021
On March 18th, we announced the beginning of the process of building a shared vision document for Async Rust. Since then, we have received 24 "status quo" stories. In the open PRs (open PRs), there are four more stories; in the past few weeks, Ryan Levick and I have also hosted more than 10 collaborative writing conferences.
rustc_codegen_cranelift progress report
- Removed support for the old Cranelift backend
- Atomic operations are implemented using native atomic instructions instead of using global locks to simulate
- Use MinGW to cross compile to Windows
- Run the rustc test suite on CI
- Windows support for MSVC tool chain
Cranelift does not yet support TLS for COFF/PE object files. This means that unlike MinGW, which uses pthread keys to implement TLS, currently cannot be compiled for MSVC.
Many platform instruction support has not yet been implemented.
Miri now supports running doctests
Miri is an experimental Rust MIR interpreter. It can run Rust binary files, test them, and check out some undefined behavior refs.
After supporting doctests, the tests performed by cargo miri test are consistent with those performed by cargo test.
Compiler team welcomes new member Aaron Hill
Since its creation in 2017, Aaron Hill (@Aaron1011) has been contributing to many different parts of the compiler. Recently, Aaron has been committed to discovering and repairing errors and correctness issues in the incremental system, cleaning up and improving macro expansion and sanitation, as well as other bug fixes. In addition to the compiler, Aaron also implements support for deployment in Miri, automatic feature file generation, and future incompatibility reports in Cargo.
Rustup 1.24.1 released
After Rustup 1.24.0 was released, it was discovered that it was caused by code omissions
TurboWish is the general name of a set of tools in the compiler team Leader Pnkfelix and the Amazon Web Services team plan led by it to understand the dynamic behavior of Rust programs. They hope that these tools will be particularly focused on gaining insights into program performance characteristics.
Profile Production Code: The cost of merging the TurboWish framework is very low: it can be merged into the production code without excessive maintenance burdens and 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 such as tokio make it easy to write asynchronous code because they hide many details after abstraction (such as the generator code generated by the Rust compiler, or the task queue managed by the tokio runtime). TurboWish exposes those hidden details so that developers can associate them with other program events. It also exposes the connections that humans usually have to rebuild manually (for example, never come to the resource and then to the future chain that may cause a deadlock), so that people can directly view the way resources are held in the object graph 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 framework-specific functions can also be provided at the time of guarantee). For our initial release, we can focus only on tokio, but if tokio proves to be successful, we expect to integrate with others.
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 request access to CPU performance counters.)
Part 1: blog.pnkfx.org/blog/2021/0...
Part 2: blog.pnkfx.org/blog/2021/0...
Catalogue "Rust Chinese Collection" April issue