Rust 1.36 Stabilizes Futures, Backports Non-Lexical Lifetimes, and More
Following its roadmap to Rust 2018, Rust 1.36’s most awaited new feature is support for the Future trait, which is the first step towards bringing async/await to the language. Additionally, it backports non-lexical lifetimes (NLL) to improve the borrow checker, and introduces a new alloc crate to enable the creation of memory allocation-dependent libraries that do not require std.
The Go Language Team Rejects Its Try Proposal ahead of Schedule
At the end of quite a long public discussion, the Go team decided to reject the proposal of a built-in try statement for Go error handling. The decision came ahead of the official Go 2 schedule due to the Go community’s negative reaction, writes Robert Griesemer, one of the original designers of the language.
C++20 Feature List Now Frozen: Modules, Coroutines, and Concepts are in; Contracts out
The ISO C++ Committee has closed the feature list for the next C++ standard, dubbed C++20, scheduled to be published by February 2020. C++20 will be a significant revision of C++, bringing modules, coroutines, and concepts, among its major new features.
Go Contracts Will Enable Generic Programming
A new draft to add support for generic programming to Go is centered around the concept of contracts, which are used to constrain type parameters to types and functions. The draft also introduces type inference to simplify the use of generic types and functions by allowing developers to omit types in many cases.