The release of the system programming language Rust 1.49, founded by the Mozilla project, has been published. The language focuses on safe memory handling, provides automatic memory management, and provides the means to achieve high parallelism of job execution, while avoiding the use of a garbage collector and runtime (runtime is reduced to basic initialization and maintenance of the standard library).
Automatic memory management in Rust relieves the developer from errors when manipulating pointers and protects against problems arising from low-level memory manipulation, such as accessing a memory area after it is freed, dereferencing null pointers, exceeding buffer boundaries, etc. The Cargo package manager is being developed to distribute libraries, provide builds and manage project dependencies. The repository crates.io is supported for placing libraries.
General innovations :
- First level of support for 64-bit ARM (aarch64) systems is provided in Linux and Glibs-based environments (aarch64-unknown-linux-gnu). Previously, the first level provided support for x86_64 (Linux, macOS, Windows) and i686 (Linux, Windows) architectures. In macOS and Windows environments, ARM 64 support has been brought to the second level (aarch64-apple-darwin, aarch64-pc-windows-msvc). Added support for Apple systems equipped with the new ARM M1 chip. Implemented the third level of support for the MIPS little-endian platform (mipsel-unknown-none).
Recall that at the first level of support, binary assemblies are generated, thorough testing is carried out and the highest platform support guarantees are provided – each change in the compiler is checked by executing a complete test suite … At the second level, binary packages are formed and the possibility of building is guaranteed, but the correct operation of binary assemblies is not guaranteed and full functionality tests are not carried out. The third level implies basic support, but without automated testing, publishing official assemblies, and verifying that code can be built.