Skip to content

Allow panic!("{}", computed_str) in const fn. #88954

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 1 commit into from
Sep 17, 2021
Merged

Conversation

nbdd0121
Copy link
Contributor

Special-case panic!("{}", arg) and translate it to panic_display(&arg). panic_display will behave like panic_any in cosnt eval and behave like panic!(format_args!("{}", arg)) in runtime.

This should bring Rust 2015 and 2021 to feature parity in terms of const_panic; and hopefully would unblock the stabilisation of #51999.

@rustbot modify labels: +T-compiler +T-libs +A-const-eval +A-const-fn

r? @oli-obk

@rustbot rustbot added A-const-eval Area: Constant evaluation, covers all const contexts (static, const fn, ...) A-const-fn T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Sep 15, 2021
@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Sep 15, 2021
@oli-obk
Copy link
Contributor

oli-obk commented Sep 15, 2021

looks good from the @rust-lang/wg-const-eval perspective

r? @m-ou-se

@rust-highfive rust-highfive assigned m-ou-se and unassigned oli-obk Sep 15, 2021
@oli-obk
Copy link
Contributor

oli-obk commented Sep 16, 2021

@bors r+

@bors
Copy link
Collaborator

bors commented Sep 16, 2021

📌 Commit 11c0e58 has been approved by oli-obk

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 16, 2021
@m-ou-se
Copy link
Member

m-ou-se commented Sep 16, 2021

@nbdd0121 Thanks for making this happen! 🎉

@oli-obk
Copy link
Contributor

oli-obk commented Sep 16, 2021

new attempt at stabilization: #89006

bors added a commit to rust-lang-ci/rust that referenced this pull request Sep 17, 2021
…laumeGomez

Rollup of 10 pull requests

Successful merges:

 - rust-lang#86422 (Emit clearer diagnostics for parens around `for` loop heads)
 - rust-lang#87460 (Point to closure when emitting 'cannot move out' for captured variable)
 - rust-lang#87566 (Recover invalid assoc type bounds using `==`)
 - rust-lang#88666 (Improve build command for compiler docs)
 - rust-lang#88899 (Do not issue E0071 if a type error has already been reported)
 - rust-lang#88949 (Fix handling of `hir::GenericArg::Infer` in `wrong_number_of_generic_args.rs`)
 - rust-lang#88953 (Add chown functions to std::os::unix::fs to change the owner and group of files)
 - rust-lang#88954 (Allow `panic!("{}", computed_str)` in const fn.)
 - rust-lang#88964 (Add rustdoc version into the help popup)
 - rust-lang#89012 (Suggest removing `#![feature]` for library features that have been stabilized)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit eb62779 into rust-lang:master Sep 17, 2021
@rustbot rustbot added this to the 1.57.0 milestone Sep 17, 2021
@nbdd0121 nbdd0121 deleted the panic3 branch September 17, 2021 18:49
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
A-const-eval Area: Constant evaluation, covers all const contexts (static, const fn, ...) S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants