From b24b382a43aac65666cd42baa28ed4fb93011754 Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Thu, 3 Aug 2023 23:47:08 -0400 Subject: [PATCH] DO NOT MERGE: Try some inline things with a skipped test --- library/alloc/src/sync.rs | 1 + tests/codegen/issues/issue-111603.rs | 6 ++---- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/library/alloc/src/sync.rs b/library/alloc/src/sync.rs index 6c701225a848f..5803eaca8ead3 100644 --- a/library/alloc/src/sync.rs +++ b/library/alloc/src/sync.rs @@ -359,6 +359,7 @@ struct ArcInner { } /// Calculate layout for `ArcInner` using the inner value's layout +#[inline] fn arcinner_layout_for_value_layout(layout: Layout) -> Layout { // Calculate layout using the given value layout. // Previously, layout was calculated on the expression diff --git a/tests/codegen/issues/issue-111603.rs b/tests/codegen/issues/issue-111603.rs index 06429ed3fa9bb..5f3a90c6ea123 100644 --- a/tests/codegen/issues/issue-111603.rs +++ b/tests/codegen/issues/issue-111603.rs @@ -1,5 +1,7 @@ // compile-flags: -O +// FIXME: DO NOT MERGE until these tests are re-enabled + #![crate_type = "lib"] #![feature(get_mut_unchecked, new_uninit)] @@ -20,8 +22,6 @@ pub fn new_from_array(x: u64) -> Arc<[u64]> { // CHECK-LABEL: @new_uninit #[no_mangle] pub fn new_uninit(x: u64) -> Arc<[u64; 1000]> { - // CHECK: call alloc::sync::arcinner_layout_for_value_layout - // CHECK-NOT: call alloc::sync::arcinner_layout_for_value_layout let mut arc = Arc::new_uninit(); unsafe { Arc::get_mut_unchecked(&mut arc) }.write([x; 1000]); unsafe { arc.assume_init() } @@ -30,8 +30,6 @@ pub fn new_uninit(x: u64) -> Arc<[u64; 1000]> { // CHECK-LABEL: @new_uninit_slice #[no_mangle] pub fn new_uninit_slice(x: u64) -> Arc<[u64]> { - // CHECK: call alloc::sync::arcinner_layout_for_value_layout - // CHECK-NOT: call alloc::sync::arcinner_layout_for_value_layout let mut arc = Arc::new_uninit_slice(1000); for elem in unsafe { Arc::get_mut_unchecked(&mut arc) } { elem.write(x);