Published release of the general purpose programming language Rust 1.60, based on the Mozilla project, but now developed under the patronage of an independent non-profit organization RUST FOUNDATION. The language is focused on safe memory and provides funds to achieve high parallelism to perform tasks, while paying around without the use of garbage collector and runTime (Runtime is reduced to the basic initialization and maintaining the standard library).
Memory Methods in Rust Ensure the developer from errors when manipulating pointers and protect against problems arising from low-level work with memory, such as referring to the memory area after its release, deregistration of zero pointers, output beyond the borders of the buffer and T .P. To disseminate libraries, ensuring the assembly and management of the project, the Cargo batch manager is developing. To place libraries, the repository crates.io .
Safe memory work is provided in Rust during compilation through checks, tracking object tracking, accounting lifetime accounting (area of visibility) and assess the correctness of memory access during code execution. Rust also provides tools to protect from integer overflows, requires mandatory initialization of variable values before use, better handles errors in the standard library, applies the concept of immutability (Immutable) of references and default variables, offers strong static typing to minimize logical errors.
Basic innovations :
- in the RUSTC compiler stabilized based on the LLVM system to generate coverage data used to assess the coverage of the code when testing. To enable Coverage data when assembling, you must use the “-Cinstrument-Coverage” flag, for example, running the “RustFlags =” command – C Instrument-Coverage “Cargo Build”. After starting the executable file collected in this way, the default.profraw file will be saved in the current directory, to process the LLVM-PROFDATA utility from the LLVM-Tools-Preview component.
Processed LLVM-PROFDATA utility The output can then be transferred to the LLVM-COV program to generate an annotated report with information about the coverage of the code. Binding information to the source texts is taken from the executable executable file under study, which includes the necessary data on the connection of Coverage-Counters with the code. 1 | 1 | Fn Main () {2 | 1 | PrintLN! (“Hello, World!”); 3 | 1 |}