Rust 1.65.0: What's New in the Recent November Release

Rust 1.65.0: What's New in the Recent November Release

Rust 1.65.0: What's New in the Recent November Release

Since the launch of Rust programming languageWith its version 0.1 at the beginning of the year 2012, it has had an excellent and sustained development cycle. In addition to, a growing popularity and good acceptance among programmers and software users, since it easily allows the development of reliable and efficient software. And recently it has released a new update under the name of "rust 1.65.0" with interesting news that we will address here.

However, it is worth noting that it, over the last few years, has had a great use and integration with the Linux Kernel, and consequently, in free and open operating systems based on GNU/Linux. Getting to the point of being integrated into the Linux Kernel since version 6.1, and to be used for create great apps, as widely reported here on DesdeLinux and many other Linux and computer websites.

Rust language: Its developers announce the new version 1.50.0

Rust language: Its developers announce the new version 1.50.0

And as usual, before entering fully on the Rust programming language and the launch of the version "rust 1.65.0", we will leave some links to previous related posts:

Rust language: Its developers announce the new version 1.50.0
Related article:
Rust language: Its developers announce the new version 1.50.0
RustLinux
Related article:
Linux 6.1 RC1, the first look at Rust on Linux

Rust 1.65.0: A language for building reliable and efficient software

Rust 1.65.0: A language for building reliable and efficient software

What's New in Rust 1.65.0

Among the latests Moravia's compositions news (additions, improvements and corrections) advertised among your Official website and website on GitHub, it is worth highlighting some important ones, such as:

GAT Changes: Type and Const

The lifetime generics (GAT), "type" and "const", now they can be defined in associated types, which make their functionalities more versatile, facilitating the use of a series of patterns that currently cannot be written.

New type of “let statement”

A new type of “let statement” has been introduced that incorporates a refutable pattern and a "else" in the form of a divergent block that is executed when that pattern does not match. The normal statements "let" they can only use irrefutable patterns, statically known to always match. Whereas, this new built-in employs a refutable pattern, which can match and bind variables in the surrounding scope like a normal let b. Or, diverge when the pattern doesn't match.

break function in labeled blocks

Simple block expressions can now be tagged as a break target, which now allows a block to be terminated early. Something very similar to using a goto statement, without being an arbitrary jump. Only from inside a block to its end. Now, this new function labeled as "Break", you can also include an expression value, just like with loops. Which allows a multi-statement block to have a value of "return" early.

Splitting of Linux debugging information

Support for splitting debugging information on macOS, it is now stable on Linux as well. For example:

  • csplit-debuginfo=unpacked will split the debugging information into multiple .dwo files (DWARF object files).
  • csplit-debuginfo=packed will produce a single .dwp (DWARF) package along with its output binary with all debug information packed.
  • csplit-debuginfo=off this is still the default behavior, which includes DWARF data in .debug_*, the ELF sections of the objects, and the final binary.

Other news

  1. MIR insert is now enabled for optimized builds. This provides a 3-10% improvement in build times for real-world boxes.
  2. When scheduling builds, Cargo now sorts the pending jobs queue to improve performance.
  3. At the compiler level, added support to generate single proraw files by default when using "-C instrument-coverage". In addition, it is now pAllows the use of dynamic links for iOS/tvOS targets, among many other things.

"Rust is a compiled, general-purpose, multi-paradigm programming language being developed by Mozilla and supported by LLVM. This language has been designed to be a safe, concurrent and practical language and above all to be a replacement for the C and C++ languages. Rust is an open source programming language that supports pure functional, procedural, imperative, and object-oriented programming.".

Related article:
Kerla: a new kernel written in Rust and compatible with the Linux ABI
RustDesk: A Useful Cross-Platform Remote Desktop App
Related article:
RustDesk: A Useful Cross-Platform Remote Desktop App

Roundup: Banner post 2021

Summary

In short, this launch of "rust 1.65.0" continues to add value to the development and use of such great programming language, which is becoming more and more important on the OS based in GNU / Linux. So much so, that from the Linux Kernel 6.1 series, has managed to join it. Which is very important, because Rust has a key property that ensures that no undefined behavior occurs within the kernel.

If you liked this post, be sure to comment on it and share it with others. And remember, visit our «homepage» to explore more news, as well as join our official channel of Telegram from DesdeLinux, West group for more information on today's topic.


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.