Closed
Description
This is a tracking issue for RFC 3007 "Plan to make core and std's panic identical": rust-lang/rfcs#3007
Steps
- Add a lint for format strings incompatible with the edition change: Add lint for panic!("{}") #78088
- Add
std::panic::panic_any
: Add std::panic::panic_any. #74622 - Stabilize
std::panic::panic_any
: Tracking issue Tracking Issue forpanic_any
#78500, PR Stabilize std::panic::panic_any. #81194 - Add a lint for panicking on non-string-literals (and suggest
panic_any
): Add lint forpanic!(123)
which is not accepted in Rust 2021. #81645 - Update
panic!()
documentation about non-string-literals: Part of Add lint forpanic!(123)
which is not accepted in Rust 2021. #81645 - Throw a
&str
instead of aString
instd
when usingcore::panic!
: Throw core::panic!("message") as &str instead of String. #78119 - Fix hygiene in
todo!()
,assert_eq!()
, etc. to always usecore::panic!()
: Qualifypanic!
ascore::panic!
in non-built-incore
macros #78343 - Fix
assert!(expr, message)
to callcore
's panic mechanism directly: Part of Add lint for panic!("{}") #78088 - Fix
assert!(expr)
to callcore
's panic mechanism directly in edition 2021: Expand assert!(expr, args..) to include $crate for hygiene on 2021. #80855 - Make
{std, core}::panic!(..)
always useformat_args!(..)
in edition 2021: Implement Rust 2021 panic #80851- This needs Allow #[rustc_builtin_macro = "name"] #80850.
- Make
std::panic!(..)
an alias forcore::panic!(..)
in edition 2021:MakeIncluded in Implement Rust 2021 panic #80851.std::panic!()
identical tocore::panic!()
on Rust 2021 #80879-
This requires core::panic!() cannot be used everywhere std::panic!() can. #80846 to be fixed first
-
- Update
panic_fmt
lint to mention edition 2021: Part of Add lint forpanic!(123)
which is not accepted in Rust 2021. #81645 - Fix 2021's
assert!(123, "{}")
expanding to the wrong edition ofpanic!()
: Fix bug with assert!() calling the wrong edition of panic!(). #81647 - Rename the
panic_fmt
lint tonon_fmt_panic
(see Add lint for panic!("{}") #78088 (comment)): Part of Add lint forpanic!(123)
which is not accepted in Rust 2021. #81645, beta backport in [beta] Renamepanic_fmt
lint tonon_fmt_panic
#81729
Metadata
Metadata
Assignees
Labels
Area: std's runtime and "pre-main" init for handling backtraces, unwinds, stack overflowsCategory: An issue tracking the progress of sth. like the implementation of an RFCLibs issues that are tracked on the team's project board.Relevant to the language team, which will review and decide on the PR/issue.Relevant to the library API team, which will review and decide on the PR/issue.