From a54d6ad03945d071ad74cb0363c12fd613fd9430 Mon Sep 17 00:00:00 2001 From: iximeow Date: Wed, 13 Nov 2024 09:50:00 -0800 Subject: [PATCH] Delete tests/codegen/fmt_int_no_panic.rs this test was included for demonstrative and discussion purposes but does not test what its name alleges - in fact it does not test much of value at all! as mentioned in this comment, https://github.com/rust-lang/rust/pull/122770#issuecomment-2474256965 , writing a correct test for this codegen outcome is difficult (partially because the public interface to std::fmt intentionally includes an #[inline(never)] function!), so to test this correctly will require more than i can offer in 122770. --- tests/codegen/fmt_int_no_panic.rs | 24 ------------------------ 1 file changed, 24 deletions(-) delete mode 100644 tests/codegen/fmt_int_no_panic.rs diff --git a/tests/codegen/fmt_int_no_panic.rs b/tests/codegen/fmt_int_no_panic.rs deleted file mode 100644 index efd0530bc88..00000000000 --- a/tests/codegen/fmt_int_no_panic.rs +++ /dev/null @@ -1,24 +0,0 @@ -// Trying to check that formatting u8/u32/u64/etc do not panic. -// -// This test does not correctly do so yet. - -//@ compile-flags: -O - -#![crate_type = "lib"] - -// expected to need to write some kind of `impl core::fmt::Write` on a struct like this to avoid -// unrelated panics if `String::write_str` can't make space.. -// struct CanAlwaysBeWrittenTo; - -use std::fmt::Write; - -// CHECK-LABEL: @format_int_doesnt_panic -#[no_mangle] -pub fn format_int_doesnt_panic(s: &mut String) -> std::fmt::Result { - // CHECK-NOT: panic - // ... but wait! this will definitely panic if `s.vec.reserve_for_push()` cannot alloc! this - // shouldn't pass! - write!(s, "{:x}", 0u8)?; - write!(s, "{:x}", u8::MAX)?; - Ok(()) -}