编译型编程语言Rust v1.16.0发布

jopen 5年前
   <p style="text-align: center;"><strong><img alt="" src="https://simg.open-open.com/show/8f9dac32e915bcc0c014efc839a62544.png" /></strong></p>    <p> </p>    <p>Rust是一个由Mozilla主导开发的通用、编译型编程语言。它的设计准则为“安全,并发,实用”,支持函数式,并发式,过程式以及面向对象的编程风格。Rust 的设计目标之一,是要使设计大型的互联网客户端和服务器的任务变得更容易。因此更加强调安全性、内存配置、以及并发处理等方面的特性。在性能上,具有额外安全保证的代码会比 C++ 慢一些,但是如果以 C++ 也手工提供保证的情况下,则两者性能上是相似的。</p>    <h2>更新日志</h2>    <ul>     <li><a href="/misc/goto?guid=4959003227408993947">The compiler's <code>dead_code</code> lint now accounts for type aliases</a>.</li>     <li><a href="/misc/goto?guid=4959003227539352819">Uninhabitable enums (those without any variants) no longer permit wildcard match patterns</a></li>     <li><a href="/misc/goto?guid=4959003227647799027">Clean up semantics of <code>self</code> in an import list</a></li>     <li><a href="/misc/goto?guid=4959003227764455581"><code>Self</code> may appear in <code>impl</code> headers</a></li>     <li><a href="/misc/goto?guid=4959003227886259655"><code>Self</code> may appear in struct expressions</a></li>    </ul>    <h3>编译器</h3>    <ul>     <li><a href="/misc/goto?guid=4959003228001450516"><code>rustc</code> now supports <code>--emit=metadata</code>, which causes rustc to emit a <code>.rmeta</code> file containing only crate metadata</a>. This can be used by tools like the Rust Language Service to perform metadata-only builds.</li>     <li><a href="/misc/goto?guid=4959003228114709414">Levenshtein based typo suggestions now work in most places, while previously they worked only for fields and sometimes for local variables</a>. Together with the overhaul of "no resolution"/"unexpected resolution" errors (#<a href="/misc/goto?guid=4959003228232677115">38154</a>) they result in large and systematic improvement in resolution diagnostics.</li>     <li><a href="/misc/goto?guid=4959003228345964388">Fix <code>transmute::<T, U></code> where <code>T</code> requires a bigger alignment than <code>U</code></a></li>     <li><a href="/misc/goto?guid=4959003228462879676">rustc: use -Xlinker when specifying an rpath with ',' in it</a></li>     <li><a href="/misc/goto?guid=4959003228582714880"><code>rustc</code> no longer attempts to provide "consider using an explicit lifetime" suggestions</a>. They were inaccurate.</li>     <li><a href="/misc/goto?guid=4959003228698536451"><code>[T]::binary_search</code> and <code>[T]::binary_search_by_key</code> now take their argument by <code>Borrow</code> parameter</a></li>     <li><a href="/misc/goto?guid=4959003228813392554">All public types in std implement <code>Debug</code></a></li>     <li><a href="/misc/goto?guid=4959003228927147358"><code>IpAddr</code> implements <code>From<Ipv4Addr></code> and <code>From<Ipv6Addr></code></a></li>     <li><a href="/misc/goto?guid=4959003229050938188"><code>Ipv6Addr</code> implements <code>From<[u16; 8]></code></a></li>     <li><a href="/misc/goto?guid=4959003229191619065">Ctrl-Z returns from <code>Stdin.read()</code> when reading from the console on Windows</a></li>     <li><a href="/misc/goto?guid=4959003229316339000">std: Fix partial writes in <code>LineWriter</code></a></li>     <li><a href="/misc/goto?guid=4959003229316339000">std: Clamp max read/write sizes on Unix</a></li>     <li><a href="/misc/goto?guid=4959003229475984774">Use more specific panic message for <code>&str</code> slicing errors</a></li>     <li><a href="/misc/goto?guid=4959003229602370449"><code>TcpListener::set_only_v6</code> is deprecated</a>. This functionality cannot be achieved in std currently.</li>     <li><a href="/misc/goto?guid=4959003229736932858"><code>writeln!</code>, like <code>println!</code>, now accepts a form with no string or formatting arguments, to just print a newline</a></li>     <li><a href="/misc/goto?guid=4959003229858987650">Implement <code>iter::Sum</code> and <code>iter::Product</code> for <code>Result</code></a></li>     <li><a href="/misc/goto?guid=4959003229996724986">Reduce the size of static data in <code>std_unicode::tables</code></a></li>     <li><a href="/misc/goto?guid=4959003230120790052"><code>char::EscapeDebug</code>, <code>EscapeDefault</code>, <code>EscapeUnicode</code>, <code>CaseMappingIter</code>, <code>ToLowercase</code>, <code>ToUppercase</code>, implement<code>Display</code></a></li>     <li><a href="/misc/goto?guid=4959003230246064541"><code>Duration</code> implements <code>Sum</code></a></li>     <li><a href="/misc/goto?guid=4959003230382480674"><code>String</code> implements <code>ToSocketAddrs</code></a></li>     <li><a href="/misc/goto?guid=4959003230502356941">The <code>cargo check</code> command does a type check of a project without building it</a></li>     <li><a href="/misc/goto?guid=4959003230625298770">crates.io will display CI badges from Travis and AppVeyor, if specified in Cargo.toml</a></li>     <li><a href="/misc/goto?guid=4959003230738823545">crates.io will display categories listed in Cargo.toml</a></li>     <li><a href="/misc/goto?guid=4959003230857781882">Compilation profiles accept integer values for <code>debug</code>, in addition to <code>true</code> and <code>false</code>. These are passed to <code>rustc</code> as the value to <code>-C debuginfo</code></a></li>     <li><a href="/misc/goto?guid=4959003230986629580">Implement <code>cargo --version --verbose</code></a></li>     <li><a href="/misc/goto?guid=4959003231111077341">All builds now output 'dep-info' build dependencies compatible with make and ninja</a></li>     <li><a href="/misc/goto?guid=4959003231227389656">Build all workspace members with <code>build --all</code></a></li>     <li><a href="/misc/goto?guid=4959003231346014789">Document all workspace members with <code>doc --all</code></a></li>     <li><a href="/misc/goto?guid=4959003231457053441">Path deps outside workspace are not members</a></li>     <li>​​​​​​​<a href="/misc/goto?guid=4959003231582981675"><code>rustdoc</code> has a <code>--sysroot</code> argument that, like <code>rustc</code>, specifies the path to the Rust implementation</a></li>     <li><a href="/misc/goto?guid=4959003231708257364">The <code>armv7-linux-androideabi</code> target no longer enables NEON extensions, per Google's ABI guide</a></li>     <li><a href="/misc/goto?guid=4959003231831982783">The stock standard library can be compiled for Redox OS</a></li>     <li><a href="/misc/goto?guid=4959003231956747078">Rust has initial SPARC support</a>. Tier 3. No builds available.</li>     <li><a href="/misc/goto?guid=4959003232081702409">Rust has experimental support for Nvidia PTX</a>. Tier 3. No builds available.</li>     <li><a href="/misc/goto?guid=4959003232202941455">Fix backtraces on i686-pc-windows-gnu by disabling FPO</a></li>     <li>​​​​​​​<a href="/misc/goto?guid=4959003227539352819">Uninhabitable enums (those without any variants) no longer permit wildcard match patterns</a></li>     <li>In this release, references to uninhabited types can not be pattern-matched. This was accidentally allowed in 1.15.</li>     <li><a href="/misc/goto?guid=4959003227408993947">The compiler's <code>dead_code</code> lint now accounts for type aliases</a>.</li>     <li><a href="/misc/goto?guid=4959003229191619065">Ctrl-Z returns from <code>Stdin.read()</code> when reading from the console on Windows</a></li>     <li><a href="/misc/goto?guid=4959003227647799027">Clean up semantics of <code>self</code> in an import list</a></li>    </ul>    <h2>下载</h2>    <ul>     <li><a href="/misc/goto?guid=4959003232382333196" rel="nofollow"><strong>Source code</strong> (zip)</a></li>     <li><a href="/misc/goto?guid=4959003232497502697" rel="nofollow"><strong>Source code</strong> (tar.gz)</a></li>    </ul>    <p>本站原创,转载时保留以下信息:<br /> 本文转自:深度开源(open-open.com)<br /> 原文地址:<a href="http://www.open-open.com/news/view/406fa7f">http://www.open-open.com/news/view/406fa7f</a></p>