Rust Team to Ask Community's Opinion

Rust team, willing to know community's feeadback, launchs the State of Rust Survey 2018
10 August 2018   1042

Developers of the programming language Rust announced the opening of the State of Rust Survey 2018. The users are required to answer 16 questions that will help the team to identify the weak points of the project. According to the authors, the survey takes 10-15 minutes. The text is translated into 14 languages.

It is important for the team to know the respondents' opinion about the instruments and libraries of the ecosystem. Also, developers want feedback on their current priorities and activities in public projects.

The Rust Community Team is pleased to announce our 2018 State of Rust Survey! Whether or not you use Rust today, we want to know your opinions. Your responses will help the project understand its strengths and weaknesses and establish development priorities for the future.

Rust Team

The collection of responses will close on September 8, 2018, and the results of the study will be published in the official blog within 1-2 months. To keep anonymity, just do not specify an email address. 

Help Rust team and community, take part in the survey.

Rust 1.42 to be Rolled Out

New version of Mozilla-backed programming language gives a lot of changes and improvements, for example subslice patterns
16 March 2020   166

Rust programming language received new update - version 1.42 has been published. The language is focused on safe work with memory, provides automatic memory management and provides means to achieve high concurrency of tasks, without using the garbage collector and runtime.

Some of the new features:

  • Added support for templates for matching parts of slices (dynamic arrays, slice). If exact comparisons were previously allowed, now the ability to use constructions with the label ".." to cover the remaining elements of the array has been added. For instance:
  • Added a new macro "matches!", Which accepts an expression and a template at the input, and returns "true" if the template matches the expression. The template may use operations "|" and "if".
  • Panic messages displayed when the Option and Result types are used incorrectly now show line numbers with a link to the code that made the problem call, rather than links to the call implementation code in libcore. For example, a change affects the call to unwrap and expect over Option :: None, or crashes when using unwrap_err, expect, expect_err and similar methods for the Result type.
  • Cargo package manager provides automatic substitution of "proc_macro crate" into the "extern" block for packages with procedural macros. This change allows the use directive to be applied to procedural macros without the need to specify extern crate proc_macro in the code. For example, if the program uses the string "use proc_macro :: TokenStream;", then the code will now remain working if "extern crate proc_macro;" is removed from it.
  • Extended features of the standard library. Iter :: Empty <T> added support for Send and Sync for any T. values. Calls :: :: map_unchecked, map_unchecked_mut} eliminated the need to return a type value for the implementation of "Sized". Io :: Cursor implements PartialEq and Eq. The "const" attribute, which determines whether it can be used in any context instead of constants, is used for the Layout :: new method.
  • A new portion of the API has been transferred to the category of stable, including CondVar :: wait_while, CondVar :: wait_timeout_while, DebugMap :: key, DebugMap :: value, ManuallyDrop :: take, ptr :: slice_from_raw_parts_mut and ptr :: slice_from_raw_parts.
  • The Error :: description method is deprecated.
  • Provided in the second level of support for armv7a-none-eabi and riscv64gc-unknown-linux-gnu platforms. Support for the standard library for the riscv64gc-unknown-linux-gnu platform is provided. Apple's 32-bit platforms have been downgraded to a third level of support, which implies basic support, but without automated testing and publication of official assemblies. The decrease in support level is due to the termination of support by Apple 32-bit platforms.

Get more at the official blog.