From 218caa410aa38c29984be31a5229b9fa717560ee Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:19:13 +0200 Subject: Merging upstream version 1.68.2+dfsg1. Signed-off-by: Daniel Baumann --- src/test/codegen/deduced-param-attrs.rs | 60 --------------------------------- 1 file changed, 60 deletions(-) delete mode 100644 src/test/codegen/deduced-param-attrs.rs (limited to 'src/test/codegen/deduced-param-attrs.rs') diff --git a/src/test/codegen/deduced-param-attrs.rs b/src/test/codegen/deduced-param-attrs.rs deleted file mode 100644 index 153046eef..000000000 --- a/src/test/codegen/deduced-param-attrs.rs +++ /dev/null @@ -1,60 +0,0 @@ -// compile-flags: -O - -#![crate_type = "lib"] -#![allow(incomplete_features)] -#![feature(unsized_locals, unsized_fn_params)] - -use std::cell::Cell; -use std::hint; - -// Check to make sure that we can deduce the `readonly` attribute from function bodies for -// parameters passed indirectly. - -pub struct BigStruct { - blah: [i32; 1024], -} - -pub struct BigCellContainer { - blah: [Cell; 1024], -} - -// The by-value parameter for this big struct can be marked readonly. -// -// CHECK: @use_big_struct_immutably({{.*}} readonly {{.*}} %big_struct) -#[no_mangle] -pub fn use_big_struct_immutably(big_struct: BigStruct) { - hint::black_box(&big_struct); -} - -// The by-value parameter for this big struct can't be marked readonly, because we mutate it. -// -// CHECK-NOT: @use_big_struct_mutably({{.*}} readonly {{.*}} %big_struct) -#[no_mangle] -pub fn use_big_struct_mutably(mut big_struct: BigStruct) { - big_struct.blah[987] = 654; - hint::black_box(&big_struct); -} - -// The by-value parameter for this big struct can't be marked readonly, because it contains -// UnsafeCell. -// -// CHECK-NOT: @use_big_cell_container({{.*}} readonly {{.*}} %big_cell_container) -#[no_mangle] -pub fn use_big_cell_container(big_cell_container: BigCellContainer) { - hint::black_box(&big_cell_container); -} - -// Make sure that we don't mistakenly mark a big struct as `readonly` when passed through a generic -// type parameter if it contains UnsafeCell. -// -// CHECK-NOT: @use_something({{.*}} readonly {{.*}} %something) -#[no_mangle] -#[inline(never)] -pub fn use_something(something: T) { - hint::black_box(&something); -} - -#[no_mangle] -pub fn forward_big_cell_container(big_cell_container: BigCellContainer) { - use_something(big_cell_container) -} -- cgit v1.2.3