summaryrefslogtreecommitdiffstats
path: root/src/test/ui/mir/mir-inlining
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:13 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:13 +0000
commit218caa410aa38c29984be31a5229b9fa717560ee (patch)
treec54bd55eeb6e4c508940a30e94c0032fbd45d677 /src/test/ui/mir/mir-inlining
parentReleasing progress-linux version 1.67.1+dfsg1-1~progress7.99u1. (diff)
downloadrustc-218caa410aa38c29984be31a5229b9fa717560ee.tar.xz
rustc-218caa410aa38c29984be31a5229b9fa717560ee.zip
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/ui/mir/mir-inlining')
-rw-r--r--src/test/ui/mir/mir-inlining/array-clone-with-generic-size.rs11
-rw-r--r--src/test/ui/mir/mir-inlining/ice-issue-100550-unnormalized-projection.rs30
-rw-r--r--src/test/ui/mir/mir-inlining/ice-issue-45493.rs17
-rw-r--r--src/test/ui/mir/mir-inlining/ice-issue-45885.rs29
-rw-r--r--src/test/ui/mir/mir-inlining/ice-issue-68347.rs28
-rw-r--r--src/test/ui/mir/mir-inlining/ice-issue-77306-1.rs17
-rw-r--r--src/test/ui/mir/mir-inlining/ice-issue-77306-2.rs32
-rw-r--r--src/test/ui/mir/mir-inlining/ice-issue-77564.rs38
-rw-r--r--src/test/ui/mir/mir-inlining/no-trait-method-issue-40473.rs16
-rw-r--r--src/test/ui/mir/mir-inlining/var-debuginfo-issue-67586.rs11
10 files changed, 0 insertions, 229 deletions
diff --git a/src/test/ui/mir/mir-inlining/array-clone-with-generic-size.rs b/src/test/ui/mir/mir-inlining/array-clone-with-generic-size.rs
deleted file mode 100644
index e36e8bd74..000000000
--- a/src/test/ui/mir/mir-inlining/array-clone-with-generic-size.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-// Checks that we can build a clone shim for array with generic size.
-// Regression test for issue #79269.
-//
-// build-pass
-// compile-flags: -Zmir-opt-level=3 -Zvalidate-mir
-#[derive(Clone)]
-struct Array<T, const N: usize>([T; N]);
-
-fn main() {
- let _ = Array([0u32, 1u32, 2u32]).clone();
-}
diff --git a/src/test/ui/mir/mir-inlining/ice-issue-100550-unnormalized-projection.rs b/src/test/ui/mir/mir-inlining/ice-issue-100550-unnormalized-projection.rs
deleted file mode 100644
index f67b07354..000000000
--- a/src/test/ui/mir/mir-inlining/ice-issue-100550-unnormalized-projection.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-// This test verifies that we do not ICE due to MIR inlining in case of normalization failure
-// in a projection.
-//
-// compile-flags: --crate-type lib -C opt-level=3
-// build-pass
-
-pub trait Trait {
- type Associated;
-}
-impl<T> Trait for T {
- type Associated = T;
-}
-
-pub struct Struct<T>(<T as Trait>::Associated);
-
-pub fn foo<T>() -> Struct<T>
-where
- T: Trait,
-{
- bar()
-}
-
-#[inline]
-fn bar<T>() -> Struct<T> {
- Struct(baz())
-}
-
-fn baz<T>() -> T {
- unimplemented!()
-}
diff --git a/src/test/ui/mir/mir-inlining/ice-issue-45493.rs b/src/test/ui/mir/mir-inlining/ice-issue-45493.rs
deleted file mode 100644
index 04a23212e..000000000
--- a/src/test/ui/mir/mir-inlining/ice-issue-45493.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-// run-pass
-// compile-flags:-Zmir-opt-level=3
-
-trait Array {
- type Item;
-}
-
-fn foo<A: Array>() {
- let _: *mut A::Item = std::ptr::null_mut();
-}
-
-struct Foo;
-impl Array for Foo { type Item = i32; }
-
-fn main() {
- foo::<Foo>();
-}
diff --git a/src/test/ui/mir/mir-inlining/ice-issue-45885.rs b/src/test/ui/mir/mir-inlining/ice-issue-45885.rs
deleted file mode 100644
index 09b1279ef..000000000
--- a/src/test/ui/mir/mir-inlining/ice-issue-45885.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-// run-pass
-// compile-flags:-Zmir-opt-level=3
-
-pub enum Enum {
- A,
- B,
-}
-
-trait SliceIndex {
- type Output;
- fn get(&self) -> &Self::Output;
-}
-
-impl SliceIndex for usize {
- type Output = Enum;
- #[inline(never)]
- fn get(&self) -> &Enum {
- &Enum::A
- }
-}
-
-#[inline(always)]
-fn index<T: SliceIndex>(t: &T) -> &T::Output {
- t.get()
-}
-
-fn main() {
- match *index(&0) { Enum::A => true, _ => false };
-}
diff --git a/src/test/ui/mir/mir-inlining/ice-issue-68347.rs b/src/test/ui/mir/mir-inlining/ice-issue-68347.rs
deleted file mode 100644
index 7c1352509..000000000
--- a/src/test/ui/mir/mir-inlining/ice-issue-68347.rs
+++ /dev/null
@@ -1,28 +0,0 @@
-// run-pass
-// compile-flags:-Zmir-opt-level=3
-pub fn main() {
- let _x: fn() = handle_debug_column;
-}
-
-fn handle_debug_column() {
- let sampler = sample_columns();
-
- let foo = || {
- sampler.get(17);
- };
- foo();
-}
-
-fn sample_columns() -> impl Sampler {
- ColumnGen {}
-}
-
-struct ColumnGen {}
-
-trait Sampler {
- fn get(&self, index: i32);
-}
-
-impl Sampler for ColumnGen {
- fn get(&self, _index: i32) {}
-}
diff --git a/src/test/ui/mir/mir-inlining/ice-issue-77306-1.rs b/src/test/ui/mir/mir-inlining/ice-issue-77306-1.rs
deleted file mode 100644
index ef05ff9ce..000000000
--- a/src/test/ui/mir/mir-inlining/ice-issue-77306-1.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-// run-pass
-// compile-flags:-Zmir-opt-level=3
-
-// Previously ICEd because we did not normalize during inlining,
-// see https://github.com/rust-lang/rust/pull/77306 for more discussion.
-
-pub fn write() {
- create()()
-}
-
-pub fn create() -> impl FnOnce() {
- || ()
-}
-
-fn main() {
- write();
-}
diff --git a/src/test/ui/mir/mir-inlining/ice-issue-77306-2.rs b/src/test/ui/mir/mir-inlining/ice-issue-77306-2.rs
deleted file mode 100644
index cb2084013..000000000
--- a/src/test/ui/mir/mir-inlining/ice-issue-77306-2.rs
+++ /dev/null
@@ -1,32 +0,0 @@
-// run-pass
-// compile-flags:-Zmir-opt-level=3
-
-struct Cursor {}
-struct TokenTree {}
-
-impl Iterator for Cursor {
- type Item = TokenTree;
-
- fn next(&mut self) -> Option<TokenTree> {
- None
- }
-}
-
-fn tokenstream_probably_equal_for_proc_macro() {
- fn break_tokens(_tree: TokenTree) -> impl Iterator<Item = TokenTree> {
- let token_trees: Vec<TokenTree> = vec![];
- token_trees.into_iter()
- }
-
- let c1 = Cursor {};
- let c2 = Cursor {};
-
- let mut t1 = c1.flat_map(break_tokens);
- let mut t2 = c2.flat_map(break_tokens);
-
- for (_t1, _t2) in t1.by_ref().zip(t2.by_ref()) {}
-}
-
-fn main() {
- tokenstream_probably_equal_for_proc_macro();
-}
diff --git a/src/test/ui/mir/mir-inlining/ice-issue-77564.rs b/src/test/ui/mir/mir-inlining/ice-issue-77564.rs
deleted file mode 100644
index 0d3fbfe5d..000000000
--- a/src/test/ui/mir/mir-inlining/ice-issue-77564.rs
+++ /dev/null
@@ -1,38 +0,0 @@
-// run-pass
-// compile-flags:-Zmir-opt-level=3
-
-use std::mem::MaybeUninit;
-const N: usize = 2;
-
-trait CollectArray<A>: Iterator<Item = A> {
- fn inner_array(&mut self) -> [A; N];
- fn collect_array(&mut self) -> [A; N] {
- let result = self.inner_array();
- assert!(self.next().is_none());
- result
- }
-}
-
-impl<A, I: ?Sized> CollectArray<A> for I
-where
- I: Iterator<Item = A>,
-{
- fn inner_array(&mut self) -> [A; N] {
- let mut result: [MaybeUninit<A>; N] = unsafe { MaybeUninit::uninit().assume_init() };
- for (dest, item) in result.iter_mut().zip(self) {
- *dest = MaybeUninit::new(item);
- }
- let temp_ptr: *const [MaybeUninit<A>; N] = &result;
- unsafe { std::ptr::read(temp_ptr as *const [A; N]) }
- }
-}
-
-fn main() {
- assert_eq!(
- [[1, 2], [3, 4]]
- .iter()
- .map(|row| row.iter().collect_array())
- .collect_array(),
- [[&1, &2], [&3, &4]]
- );
-}
diff --git a/src/test/ui/mir/mir-inlining/no-trait-method-issue-40473.rs b/src/test/ui/mir/mir-inlining/no-trait-method-issue-40473.rs
deleted file mode 100644
index 8b3cb703d..000000000
--- a/src/test/ui/mir/mir-inlining/no-trait-method-issue-40473.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-// run-pass
-// compile-flags:-Zmir-opt-level=3
-pub trait Foo {
- fn bar(&self) -> usize { 2 }
-}
-
-impl Foo for () {
- fn bar(&self) -> usize { 3 }
-}
-
-// Test a case where MIR would inline the default trait method
-// instead of bailing out. Issue #40473.
-fn main() {
- let result = ().bar();
- assert_eq!(result, 3);
-}
diff --git a/src/test/ui/mir/mir-inlining/var-debuginfo-issue-67586.rs b/src/test/ui/mir/mir-inlining/var-debuginfo-issue-67586.rs
deleted file mode 100644
index e26206826..000000000
--- a/src/test/ui/mir/mir-inlining/var-debuginfo-issue-67586.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-// run-pass
-// compile-flags: -Z mir-opt-level=3 -C opt-level=0 -C debuginfo=2
-
-#[inline(never)]
-pub fn foo(bar: usize) -> usize {
- std::convert::identity(bar)
-}
-
-fn main() {
- foo(0);
-}