GNAT Pro for Rust delivers stability, security and dependability for your critical, embedded Rust applications - all with the best-in-class support you’ve come to expect from AdaCore.
GNAT Pro for Rust is currently in early-access for select customers and provides a compiler (rustc), a build and package manager (cargo), and a debugger (gdb) for x86_64 Linux and Linux cross targets. When GNAT Pro for Rust 25 launches officially, it will offer full integration with gprbuild and will provide advanced Ada-Rust bidirectional bindings - all while supporting more platforms.
GNAT Pro for Rust offers yearly updates that incorporate selected, recent enhancements from the upstream development. We make sure the result is a stable, tested Rust toolchain that’s ready to be used and supported for years to come.
Building - and qualifying - a toolchain for industrial use requires a surprising amount of work. We have to integrate upstream changes into our stable baselines carefully and thoughtfully, ensuring that we minimize disruption to your builds by only including changes that are well-tested and clearly stabilized. Using an industrial toolchain means that you’re using a toolchain that has been built and verified with stringent industrial requirements in mind.
With GNAT Pro for Rust, you can count on the same, predictable update cadence as the rest of GNAT Pro - while continuing to leverage all that’s great about Rust.
GNAT Pro for Rust is built using AdaCore’s fully reproducible build system - the same build system that we use for building all of our products. We maintain complete control over every aspect of the build, which allows us to ensure that we’re always using known-good versions of all dependencies from start to finish.
AdaCore is an ISO 9001-compliant and NIST SP 800-171 organization targeting SLSA Build Level 3 compliance. That gives you the confidence that our software hasn’t been tampered with and can be traced securely back to its sources. When we deliver GNAT Pro for Rust to you, you will have full access to relevant security-related documents - including a Software Bill of Materials. So you can see exactly what version of every dependency we used to build each part of GNAT Pro for Rust. And you can be sure we’ll report any security vulnerabilities we discover promptly and transparently.
GNAT Pro Assurance for Rust gives you a sustained branch of the complete toolchain with support for critical updates and known-problem reports for as long as you need. We really mean that. We’re prepared to support you for decades, if needed.
We know that your software needs to be maintained and updated over time in response to changing requirements. So you need to have confidence that if an issue such as a code generation problem is encountered, it will be addressed in the context of the version of the compiler that is currently being used. GNAT Pro Assurance’s sustained-branch service guarantees product stability, with controlled evolution to correct problems.
With GNAT Pro Assurance for Rust, you can count on the same maintenance guarantees as with the rest of GNAT Pro Assurance.
Ultimately, GNAT Pro for Rust’s platform support policy will be aligned with other GNAT Pro supported languages. And AdaCore is always ready to work with you to add your desired platform to the list.
GNAT Pro for Rust is provided with AdaCore’s best-in-class support: when we provide support, we put you in touch with the experts - the engineers who develop and maintain the product. Our support is a critical part of our business model and something we take very seriously.
With GNAT Pro for Rust, you can count on the same guarantee of support as with the rest of GNAT Pro.
GNAT Pro for Rust is ready to integrate your Rust code into your existing Ada, C, and C++ projects. Our multi-language builder allows seamless hybrid-language project builds with a single command. In addition, we are working on automatic binding generators, allowing APIs written in these languages to be available in others and simplifying mixed language control flow. So you can integrate Rust and Ada without sacrificing the memory-safety guarantees of either language.
A Path to Safety Certification
AdaCore products are meant to be used to address the needs of the most demanding safety critical industries. We’re developing GNAT Pro for Rust with the intent to support safety-certification needs such as avionics (DO-178), rail (EN-50128), space (ECSS-E-ST-40C and ECSS-Q-ST-80C) and others. Our roadmap includes certification of language libraries (such as a subset of libcore), source-to-object traceability study and compiler qualification, similar to what is already available with GNAT Pro for Ada and GNAT Pro for C/C++.
Rust is a programming language designed for performance and safety, created to help developers build dependable, efficient software. Its syntax is easy to understand for people with a C or C++ background. However, like Ada, it has a greater emphasis on code safety, including areas such as safe concurrency, vulnerability prevention, and memory management.
For over 25 years, AdaCore has committed to supporting the needs of the safety- and mission-critical industries. AdaCore initially focused on Ada, a state-of-the-art programming language designed specifically for developing long-lived, safety-critical, certified software. Over the years, this focus has extended beyond Ada language to its formally verifiable SPARK subset, C and C++. Now, we are extending our support Rust. AdaCore is a member of Rust Foundation and is committed to seeing Rust succeed in the safety-critical software sector.