Date: 6 months ago   Category: Hi-Tech

Release of the Rust 2018 (1.31) programming language

The release of language of system programming of Rust 1.31 developed by the Mozilla project is presented. Except the regular version number release also обознечен as Rust 2018 is also presented as the most important release from the moment of formation of version 1.0 in 2015. Within release work on consolidation of all improvements and changes prepared for the last three years in the form of a complete product is carried out. Rust 2018 will act as a basis for increasing functionality in the next three years, how the release of Rust 1.0 became basis for development of language in last three years.

For division of incompatible functionality is entered the concept of editions of language. Editions with numbers "2015" and "2018" can be used as a tag for definition of a cut of a condition of the language (the field "edition" in section of "[package]" of metadata of cargo-packages) affecting only incompatible changes.

the Editorial office "2015" includes the functionality which is already stabilized by a present situation and all future changes which are not breaking compatibility, and the editorial office "2018" in addition covers the innovations breaking compatibility offered in flow output 1.31 and approved for realization in the future. Except the language of edition also consider a condition of tools and documentation (for example, modules of support of IDE, rustfmt and Clippy are entered into editorial offices 2018 in structure).

the 2015 Mode allows to keep full compatibility with the existing applications without introduction of the changes breaking compatibility. To activate the 2018 mode makes sense to involve if desired in the code future opportunities of language, such as yet not implemented concepts of async/await and "try". As the present possibility can demand updating of the code of the old programs written before reservation of the words async, await and TRY, the specified keywords are already introduced in the editorial office "2018" in spite of the fact that the functionality is not added yet.

In other words, in release of Rust 1.31 is in advance made fixing of keywords for yet not the ready innovations breaking the return compatibility, and expected in the next three years. At the same time the future changes and innovations which are not leading to violation of compatibility in process of the emergence will be available to packages irrespective of the chosen edition - specific to the editorial office "2018" and not getting to the editorial office "2015" will become only the changes breaking compatibility.

Main innovations of Rust 1.31: The NLL equipment (Non-Lexical Lifetimes) which expanded a system of accounting of time of life of the borrowed variables is realized. Instead of a life time binding at the lexical level, NLL carries out the accounting at the level of a set of indexes in the column of a stream of performance. New approach allows to increase quality of check of loan of variables (borrow checker) and to allow performance of some types of the correct code which use led to a mistake conclusion earlier. The new behavior significantly simplifies debugging. For example:

of fn main { let mut x = 5; let y = &x; let z = &mut x; println! ("y: { }",



just now

There was free time, but there are no plans for rest still? We offer below places where it is possible to spend a summer holiday and not to regret about anything. Ksamil in the Southern Albania is t...

just now

On the third Sunday of June around the world celebrate the Day of the father. Informal, but very touching holiday in which traditionally children congratulate the fathers - the warm words of gratitude...

just now

"Chosenness" of prolific mummies infuriated the working mothers, their children it is not worse than natives of large families. the State propagandizing birth rate and encouraging birth in large qua...

just now

In Nikolaev brought down the person, in such unusual way having stopped a cruel fight. When one of opponents tumbled down the rival on the earth and began to beat by legs, the car passing by unexpec...

just now

Three persons suffered as a result of road accident which occurred at night on June 14 in the Hot Key. As told "Kuban SAVIOUR" in the press service, on 1410 km of the route M4 "Don" near the village...

just now

The famous Ukrainian singer showed hawt photos from shooting of the clip. Read to in the updated Viber chat! Join! In photos the actress appeared in very hot images. On it black shini...

just now

The Samsung company, according to messages of network sources, sent to Department on the intellectual property of the European Union (EUIPO) the application for registration of the Galaxy Tab Active P...

just now

The legendary forward of Real Raul Gonsalez became the guest of honor of a conference of UEFA on mass soccer in Minsk. The Spaniard told about high value of respect in soccer and shared reminiscence a...