Rust Improves Tracing
Written by Kay Ewbank   
Thursday, 31 January 2019

Rust 1.32 follows the release of Rust 2018 in December. The updated version adds what the developers describe as 'a few quality of life improvements', as well as switching the default allocator, and making additional functions const.

Rust 2018 rolled up the improvements to the language over the past three years alongside tooling, documentation and a new website. The latest release is back to being a simple upgrade to the language.

The aim of Rust is to offer a safe, fast and concurrent language without having a garbage collector. It is constructed so that problems are detected at compile time so that it can be used safely for systems programming. Rust was originally sponsored by Mozilla, and is intended for use in situations including embedding in other languages, writing programs with specific space and time requirements, and writing low-level code, like device drivers and operating systems. 


The improvements designed to make small things easier start with a new dbg! macro that makes it easier to print the value of a variable while debugging, so you can just write dbg! (varname) ; rather than having to write println !"{:?}", varname);. The new function also shows the name of the variable and the line number and file name that the call was made on. You can also use the value returned in expressions.

The next change of note is to the memory allocator. Until now, Rust has by default used jemalloc, the original memory allocator from the time when Rust had a large, Erlang-like runtime. Jemalloc made sense at that point because it often improved performance over the default system one. However, since Rust 1.28, developers have been able to choose a global allocator, and now the default is that the system allocator is used. You can still choose to use Jemalloc if it improves the performance of your program.

The other changes are more minor. The rules on the path you can use on import path statements have been relaxed so that previously invalid import path statements can be resolved; and the macro system has been improved with the introduction of a literal pattern matcher that matches matches against literals of any type; string literals, numeric literals, and char literals.



More Information

Rust Website

Related Articles

Rust 2018 Released To Improve Developer Productivity

Rust Survey Revelations

Rust 1.28 Improves Memory Use

Rust 1.26 Adds Existential Types

Rust 1.24 Adds Reformatter

Rust 1.23 Uses Less Memory

Rust 1.20 Adds Associated Contents

Rust 1.16

Updated Rust Improves Documentation

Rust 1.6 Released

Rust 1.3 Released

Rust Releases New Versions

Rust Hits Stable 1.0 - So What?

Rust 1.0 Alpha Released       

Rust Reaches 0.9

Rust 0.7 Released

Rust 0.4 Full Integration of Borrowed Pointers



To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.


Opaque Systems Introduces Gateway GenAI Solution

Opaque Systems has announced an early access program for Opaque Gateway, software designed to address data privacy, security, and sovereignty concerns in managing GenAI implementations.

Java Version 22 Released

JDK 22 is not a Long Term Support release, but is one of the regular releases that are scheduled to arrive every six months. Still, it has got a lot to show for itself.

More News

raspberry pi books



or email your comment to:


Last Updated ( Thursday, 31 January 2019 )