|//No Comment - Rust 1.12, Nim 0.15 & VC++ For Linux 1.0,5|
|Written by Ian Elliot|
|Tuesday, 04 October 2016|
• Rust 1.12
• Nim Version 0.15.0 released
• Visual C++ for Linux 1.0.5 Updates
Sometimes the news is reported well enough elsewhere and we have little to add other than to bring it to your attention.
No Comment is a format where we present original source information, lightly edited, so that you can decide if you want to follow it up.
Rust is Mozilla's proposed system programming language:
"Rust is a systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety. "
The largest user-facing change in 1.12 stable is the new error message format emitted by
The new Rust “mid-level IR”, usually called “MIR”, gives the compiler a simpler way to think about Rust code than its previous way of operating entirely on the Rust abstract syntax tree. It makes analysis and optimizations possible that have historically been difficult to implement correctly. The first of many upcoming changes to the compiler enabled by MIR is a rewrite of the pass that generates LLVM IR, what
In cases where a value may or may not be moved at the end of a scope, the compiler now simply uses a single bitflag on the stack, which is in turn easier for optimization passes in LLVM to reason about. The end result is less work for the compiler and less bloat at runtime. In addition, because MIR is a simpler ‘language’ than the full AST, it’s also easier to implement compiler passes on, and easier to verify that they are correct.
The biggest feature added to Cargo this cycle is “workspaces.” Defined in RFC 1525, workspaces allow a group of Rust packages to share the same
This release includes almost 180 bug fixes and improvements.
Some of the most significant changes in this release include:
All pages in the documentation now contain a search box and a drop down to select how procedures should be sorted. This allows you to search for procedures, types, macros and more from any documentation page. Sorting the procedures by type shows a more natural table of contents. This should also help you to find procedures and other identifiers.
The multisync macro will transform this procedure into the following:
Allowing you to use recvTwice with both synchronous and asynchronous sockets.
Many of the httpclient module's procedures have been deprecated in favour of a new implementation using the multisync macro. There are now two types: HttpClient andAsyncHttpClient. Both of these implement the same procedures and functionality, the only difference is timeout support and whether they are blocking or not.
This release has some major performance improvements that feature incremental copy and build, and considerably reducing the number of connections to the remote Linux machine. We’ve also made significant improvements in IntelliSense
A Makefile project template has been added that supports using external build systems on your remote machine (make, gmake, CMake, bash script etc.). This works as you would expect under the C++ project property pages you can set your local Intellisense paths, then on the remote build property page you add the commands, semicolon separated, to trigger your build on the remote machine.
It is possible to specify at the file and project level whether or not a file should be remotely copied. This means you can use your existing build mechanisms just by mapping your existing sources locally and adding them to your project for editing and debugging.
You can now override the compiler commands used on the remote machine in the Property Pages. That will enable you to point to specific versions of GCC if needed or even point to an alternate compiler like clang. You can use either full paths or a command available on your path.
Under Build Events node of the project properties there are also new pre-build and pre-link remote build events as well as options for arbitrary file copy in all build events to provide greater flexibility.
There have also been improvements in debugging.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Tuesday, 04 October 2016 )|