From 161e29dc8486e69f8e02c1587a1abf141a413987 Mon Sep 17 00:00:00 2001 From: Wesley Wiser Date: Thu, 28 Aug 2025 21:55:20 -0500 Subject: Revert "fix(debuginfo): disable overflow check for" This reverts commit 49eda8edd5c99e4c65c687fff0b8e194eb339a23. --- .../src/debuginfo/metadata/type_map.rs | 4 +-- tests/codegen-llvm/debuginfo-cyclic-structure.rs | 32 ---------------------- 2 files changed, 2 insertions(+), 34 deletions(-) delete mode 100644 tests/codegen-llvm/debuginfo-cyclic-structure.rs diff --git a/compiler/rustc_codegen_llvm/src/debuginfo/metadata/type_map.rs b/compiler/rustc_codegen_llvm/src/debuginfo/metadata/type_map.rs index d1502d2b1e6..56fb12d3c22 100644 --- a/compiler/rustc_codegen_llvm/src/debuginfo/metadata/type_map.rs +++ b/compiler/rustc_codegen_llvm/src/debuginfo/metadata/type_map.rs @@ -285,8 +285,8 @@ pub(super) fn build_type_with_children<'ll, 'tcx>( // Item(T), // } // ``` - let is_expanding_recursive = adt_def.is_enum() - && debug_context(cx).adt_stack.borrow().iter().any(|(parent_def_id, parent_args)| { + let is_expanding_recursive = + debug_context(cx).adt_stack.borrow().iter().any(|(parent_def_id, parent_args)| { if def_id == *parent_def_id { args.iter().zip(parent_args.iter()).any(|(arg, parent_arg)| { if let (Some(arg), Some(parent_arg)) = (arg.as_type(), parent_arg.as_type()) diff --git a/tests/codegen-llvm/debuginfo-cyclic-structure.rs b/tests/codegen-llvm/debuginfo-cyclic-structure.rs deleted file mode 100644 index b8cc5447741..00000000000 --- a/tests/codegen-llvm/debuginfo-cyclic-structure.rs +++ /dev/null @@ -1,32 +0,0 @@ -//@ compile-flags:-g -Copt-level=0 -C panic=abort - -// Check that debug information exists for structures containing loops (cyclic references). -// Previously it may incorrectly prune member information during recursive type inference check. - -// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "Arc { - buffer: Box>, -} -struct Shared { - shared: Arc>>, -} -struct Handle { - shared: Shared, -} -struct Core { - inner: Arc>>, -} - -#[no_mangle] -extern "C" fn test() { - let с = Core { inner: Arc::new(Inner { buffer: Box::new(MaybeUninit::uninit()) }) }; - std::hint::black_box(с); -} -- cgit 1.4.1-3-g733a5