std: Stablize the macros module
This commit performs a pass over the `std::macros` module, applying stability attributes where necessary. In particular, this audits macros for patterns such as: * Standard use of forward-to-format-args via `$($arg:tt)*` (or `+`) * Prevent macro-defined identifiers from leaking into expression arguments as hygiene is not perfectly implemented. * Wherever possible, `$crate` is used now. Specifically, the following actions were taken: * The `std::macros` module itself is no longer public. * The `panic!` macro is stable * The `assert!` macro is stable * The `assert_eq!` macro is stable * The `debug_assert!` macro is stable * The `debug_assert_eq!` macro is stable * The `unreachable!` macro is stable after removing the extra forms to bring the definition in line with the `unimplemented!` macro. * The `try!` macro is stable * The `vec!` macro is stable [breaking-change]
This commit is contained in:
parent
9e4e524e0e
commit
209c701bf9
9 changed files with 33 additions and 224 deletions
|
@ -120,8 +120,7 @@
|
|||
extern crate log;
|
||||
|
||||
#[macro_use]
|
||||
#[macro_reexport(assert, assert_eq, debug_assert, debug_assert_eq,
|
||||
unreachable, unimplemented, write, writeln)]
|
||||
#[macro_reexport(write, writeln)]
|
||||
extern crate core;
|
||||
|
||||
#[macro_use]
|
||||
|
@ -176,7 +175,7 @@ pub use unicode::char;
|
|||
/* Exported macros */
|
||||
|
||||
#[macro_use]
|
||||
pub mod macros;
|
||||
mod macros;
|
||||
|
||||
#[macro_use]
|
||||
pub mod bitflags;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue