@@ -58,6 +58,39 @@ pub macro panic_2021 {
5858 ) ,
5959}
6060
61+ #[ doc ( hidden) ]
62+ #[ unstable( feature = "edition_panic" , issue = "none" , reason = "use unreachable!() instead" ) ]
63+ #[ allow_internal_unstable( core_panic) ]
64+ #[ rustc_diagnostic_item = "unreachable_2015_macro" ]
65+ #[ rustc_macro_transparency = "semitransparent" ]
66+ pub macro unreachable_2015 {
67+ ( ) => (
68+ $crate:: panicking:: panic ( "internal error: entered unreachable code" )
69+ ) ,
70+ // Use of `unreachable_display` for non_fmt_panic lint.
71+ // NOTE: the message ("internal error ...") is embeded directly in unreachable_display
72+ ( $msg: expr $( , ) ?) => (
73+ $crate:: panicking:: unreachable_display ( & $msg)
74+ ) ,
75+ ( $fmt: expr, $( $arg: tt) * ) => (
76+ $crate:: panic!( $crate :: concat!( "internal error: entered unreachable code: " , $fmt) , $( $arg) * )
77+ ) ,
78+ }
79+
80+ #[ doc ( hidden) ]
81+ #[ unstable( feature = "edition_panic" , issue = "none" , reason = "use unreachable!() instead" ) ]
82+ #[ allow_internal_unstable( core_panic) ]
83+ #[ rustc_diagnostic_item = "unreachable_2021_macro" ]
84+ #[ rustc_macro_transparency = "semitransparent" ]
85+ pub macro unreachable_2021 {
86+ ( ) => (
87+ $crate:: panicking:: panic ( "internal error: entered unreachable code" )
88+ ) ,
89+ ( $( $t: tt) +) => (
90+ $crate:: panic!( "internal error: entered unreachable code: {}" , $crate :: format_args!( $( $t) +) )
91+ ) ,
92+ }
93+
6194/// An internal trait used by libstd to pass data from libstd to `panic_unwind`
6295 /// and other panic runtimes. Not intended to be stabilized any time soon , do
6396/// not use.
0 commit comments