about summary refs log tree commit diff
path: root/tests/codegen
diff options
context:
space:
mode:
authorStuart Cook <Zalathar@users.noreply.github.com>2025-04-05 13:18:14 +1100
committerGitHub <noreply@github.com>2025-04-05 13:18:14 +1100
commita038028eca64dbf72c2fad039b94da01a23e685f (patch)
treeee2bba6175219d1333548023e53bba23dc4079e8 /tests/codegen
parent92bb7261c48b96c49c97b4e83fc311e42280e7cb (diff)
parent3628a8f326d1f323832aeae742ab3bbd025e4166 (diff)
downloadrust-a038028eca64dbf72c2fad039b94da01a23e685f.tar.gz
rust-a038028eca64dbf72c2fad039b94da01a23e685f.zip
Rollup merge of #138024 - reitermarkus:unicode-panic-optimization, r=ibraheemdev
Allow optimizing out `panic_bounds_check` in Unicode checks.

Allow optimizing out `panic_bounds_check` in Unicode checks.

For context, see https://github.com/japaric/ufmt/issues/52#issuecomment-2699207241.
Diffstat (limited to 'tests/codegen')
-rw-r--r--tests/codegen/char-escape-debug-no-bounds-check.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/codegen/char-escape-debug-no-bounds-check.rs b/tests/codegen/char-escape-debug-no-bounds-check.rs
new file mode 100644
index 00000000000..cfde46045e5
--- /dev/null
+++ b/tests/codegen/char-escape-debug-no-bounds-check.rs
@@ -0,0 +1,14 @@
+//@ compile-flags: -Copt-level=3
+#![crate_type = "lib"]
+
+use std::char::EscapeDebug;
+
+// Make sure no bounds checks are emitted when escaping a character.
+
+// CHECK-LABEL: @char_escape_debug_no_bounds_check
+#[no_mangle]
+pub fn char_escape_debug_no_bounds_check(c: char) -> EscapeDebug {
+    // CHECK-NOT: panic
+    // CHECK-NOT: panic_bounds_check
+    c.escape_debug()
+}