Rust 1.3 Released
Written by Kay Ewbank   
Tuesday, 22 September 2015

The Rust core team has released a stable version of Rust 1.3 with new object lifetime defaults.  

rust

Systems programming language Rust is designed to be safe, fast and concurrent without having a garbage collector that is good for embedding in other languages, writing programs with specific space and time requirements, and writing low-level code, like device drivers and operating systems.

The stable version of Rust 1.3 is faster than previous versions, mainly due to changes in the standard library. The release ships with a new book called Rustonomicon, a guide to “The Dark Arts of Advanced and Unsafe Rust Programming”. According to a post on the Rust language blog:

“while it’s still in draft form, this book already provides deep coverage of some of Rust’s darker corners”.

The new release has also benefited from API stabilization, including the new Duration API and enhancements to Error and Hash/Hasher.

The focus on improving performance by modifying the standard library means the substring matcher now uses a more efficient algorithm; there are improvements to zero filling that speed up Vec::resize and Read::read_to_end; and the PartialEq implementation on slices is now much faster.

The team has also added preliminary support for targeting Windows XP. While they do not intend to treat Windows XP as a “first tier” platform, it is now feasible to build Rust code for XP as long as you avoid certain parts of the standard library. The blog post says that work on MSVC toolchain integration is ongoing, with full support (on 64-bit) shipping in the 1.4 beta, which has shipped at the same time as the 1.3 stable version.

The main enhancement to Cargo, Rust’s package manager,is support for lint capping. The idea is that lints in your dependencies should not affect your ability to compile cleanly, which in turn makes it easier to tweak the way lints work without undue hassle in the ecosystem.

One breaking change in the new version comes in the new object lifetime defaults. The release notes on GitHub say that these:

“have been turned on after a cycle of warnings about the change”.

Now types like &'a Box<Trait> (or &'a Rc<Trait>, etc) will change from being interpreted as &'a Box<Trait+'a> to &'a Box<Trait+'static>.

 

rust

More Information

Announcing Rust 1.3

rust-lang.org

Rust on Github

 

Related Articles

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.

 

Banner


Apple Lets Fortnite Back In The App Store
21/05/2025

After 5 years of banishment, Fortnite is back in the US App Store.  Has Apple turned over a new leaf and is now playing nice? Probably not.



A New Threat - Package Hallucination
07/05/2025

The rise and rise of reliance on LLMs for code generation has resulted in a new threat to software supply chains. Dubbed "package hallucination", this occurs when LLMs generation references to non-exi [ ... ]


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info

 

 

 

Last Updated ( Friday, 16 May 2025 )