mirror of
https://github.com/rust-lang/rust.git
synced 2025-04-28 02:57:37 +00:00
Rollup merge of #61879 - stjepang:stabilize-todo, r=withoutboats
Stabilize todo macro The `todo!` macro is just another name for `unimplemented!`. Tracking issue: https://github.com/rust-lang/rust/issues/59277 This PR needs a FCP to merge. r? @withoutboats
This commit is contained in:
commit
f7ee31e3d7
@ -465,7 +465,7 @@ macro_rules! writeln {
|
||||
/// The unsafe counterpart of this macro is the [`unreachable_unchecked`] function, which
|
||||
/// will cause undefined behavior if the code is reached.
|
||||
///
|
||||
/// [`panic!`]: ../std/macro.panic.html
|
||||
/// [`panic!`]: ../std/macro.panic.html
|
||||
/// [`unreachable_unchecked`]: ../std/hint/fn.unreachable_unchecked.html
|
||||
/// [`std::hint`]: ../std/hint/index.html
|
||||
///
|
||||
@ -474,6 +474,7 @@ macro_rules! writeln {
|
||||
/// This will always [`panic!`]
|
||||
///
|
||||
/// [`panic!`]: ../std/macro.panic.html
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// Match arms:
|
||||
@ -525,6 +526,9 @@ macro_rules! unreachable {
|
||||
/// code type-check, or if you're implementing a trait that requires multiple
|
||||
/// methods, and you're only planning on using one of them.
|
||||
///
|
||||
/// There is no difference between `unimplemented!` and `todo!` apart from the
|
||||
/// name.
|
||||
///
|
||||
/// # Panics
|
||||
///
|
||||
/// This will always [panic!](macro.panic.html)
|
||||
@ -579,8 +583,10 @@ macro_rules! unimplemented {
|
||||
/// Indicates unfinished code.
|
||||
///
|
||||
/// This can be useful if you are prototyping and are just looking to have your
|
||||
/// code typecheck. `todo!` works exactly like `unimplemented!`. The only
|
||||
/// difference between the two macros is the name.
|
||||
/// code typecheck.
|
||||
///
|
||||
/// There is no difference between `unimplemented!` and `todo!` apart from the
|
||||
/// name.
|
||||
///
|
||||
/// # Panics
|
||||
///
|
||||
@ -602,8 +608,6 @@ macro_rules! unimplemented {
|
||||
/// `baz()`, so we can use `todo!`:
|
||||
///
|
||||
/// ```
|
||||
/// #![feature(todo_macro)]
|
||||
///
|
||||
/// # trait Foo {
|
||||
/// # fn bar(&self);
|
||||
/// # fn baz(&self);
|
||||
@ -629,7 +633,7 @@ macro_rules! unimplemented {
|
||||
/// }
|
||||
/// ```
|
||||
#[macro_export]
|
||||
#[unstable(feature = "todo_macro", issue = "59277")]
|
||||
#[stable(feature = "todo_macro", since = "1.39.0")]
|
||||
macro_rules! todo {
|
||||
() => (panic!("not yet implemented"));
|
||||
($($arg:tt)+) => (panic!("not yet implemented: {}", $crate::format_args!($($arg)+)));
|
||||
|
@ -305,7 +305,6 @@
|
||||
#![feature(str_internals)]
|
||||
#![feature(test)]
|
||||
#![feature(thread_local)]
|
||||
#![feature(todo_macro)]
|
||||
#![feature(toowned_clone_into)]
|
||||
#![feature(trace_macros)]
|
||||
#![feature(try_reserve)]
|
||||
|
Loading…
Reference in New Issue
Block a user