内容简介:Rust 1.30 已发布,包含大量更新内容: Language Procedural macros are now available. These kinds of macros allow for more powerful code generation. There is a new chapter available in the Rust Progra...
Rust 1.30 已发布,包含大量更新内容:
Language
Procedural macros are now available. These kinds of macros allow for more powerful code generation. There is a new chapter available in the Rust Programming Language book that goes further in depth.
You can now use keywords as identifiers using the raw identifiers syntax (
r#), e.g.let r#for = true;You can now use
cratein paths. This allows you to refer to the crate root in the path, e.g.use crate::foo;refers tofooinsrc/lib.rs.Using a external crate no longer requires being prefixed with
::. Previously, using a external crate in a module without a use statement requiredlet json = ::serde_json::from_str(foo);but can now be written aslet json = serde_json::from_str(foo);.You can now apply the
#[used]attribute to static items to prevent the compiler from optimising them away, even if they appear to be unused, e.g.#[used] static FOO: u32 = 1;You can now import and reexport macros from other crates with the
usesyntax. Macros exported with#[macro_export]are now placed into the root module of the crate. If your macro relies on calling other local macros, it is recommended to export with the#[macro_export(local_inner_macros)]attribute so users won't have to import those macros.You can now catch visibility keywords (e.g.
pub,pub(crate)) in macros using thevisspecifier.Non-macro attributes now allow all forms of literals, not just strings. Previously, you would write
#[attr("true")], and you can now write#[attr(true)].
Compiler
Libraries
Stabilized APIs
The following methods are replacement methods for
trim_left,trim_right,trim_left_matches, andtrim_right_matches, which will be deprecated in 1.33.0:
Cargo
cargo rundoesn't require specifying a package in workspaces.cargo docnow supports--message-format=json. This is equivalent to callingrustdoc --error-format=json.
Misc
rustdocallows you to specify what edition to treat your code as with the--editionoption.We now distribute a
rust-gdbguiscript that invokesgdbguiwith Rust debug symbols.Attributes from Rust tools such as
rustfmtorclippyare now available, e.g.#[rustfmt::skip]will skip formatting the next item.
【声明】文章转载自:开源中国社区 [http://www.oschina.net]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
High Performance Python
Micha Gorelick、Ian Ozsvald / O'Reilly Media / 2014-9-10 / USD 39.99
If you're an experienced Python programmer, High Performance Python will guide you through the various routes of code optimization. You'll learn how to use smarter algorithms and leverage peripheral t......一起来看看 《High Performance Python》 这本书的介绍吧!
RGB转16进制工具
RGB HEX 互转工具
在线进制转换器
各进制数互转换器