add some debug-assertion crash tests

This commit is contained in:
Matthias Krüger 2024-11-08 21:32:40 +01:00
parent f415c07494
commit 716d99c3ff
10 changed files with 146 additions and 0 deletions

14
tests/crashes/116979.rs Normal file
View file

@ -0,0 +1,14 @@
//@ known-bug: #116979
//@ compile-flags: -Csymbol-mangling-version=v0
//@ needs-rustc-debug-assertions
#![feature(dyn_star)]
#![allow(incomplete_features)]
use std::fmt::Display;
pub fn require_dyn_star_display(_: dyn* Display) {}
fn main() {
require_dyn_star_display(1usize);
}

27
tests/crashes/117808.rs Normal file
View file

@ -0,0 +1,27 @@
//@ known-bug: #117808
//@ edition:2021
//@ needs-rustc-debug-assertions
use std::future::Future;
fn hrc<R, F: for<'a> AsyncClosure<'a, (), R>>(f: F) -> F {
f
}
fn main() {
hrc(|x| async {});
}
trait AsyncClosure<'a, I, R>
where
I: 'a,
{
}
impl<'a, I, R, Fut, F> AsyncClosure<'a, I, R> for F
where
I: 'a,
F: Fn(&'a I) -> Fut,
Fut: Future<Output = R> + Send + 'a,
{
}

13
tests/crashes/117877.rs Normal file
View file

@ -0,0 +1,13 @@
//@ known-bug: #117877
//@ edition:2021
//@ needs-rustc-debug-assertions
//@ only-x86_64
#![feature(asm_const)]
use std::arch::asm;
async unsafe fn foo<'a>() {
asm!("/* {0} */", const N);
}
fn main() {}

24
tests/crashes/118778.rs Normal file
View file

@ -0,0 +1,24 @@
//@ known-bug: #118778
//@ edition:2021
//@ needs-rustc-debug-assertions
#![feature(generic_const_exprs)]
#![allow(incomplete_features)]
trait Owner {
type T<const N: u16>;
}
impl Owner for () {
type T<const N: u32> = U32<{ N + 1 }>
where
U32<{ N + 1 }>:;
}
struct U32<const N: u32>;
fn take1(_: impl Owner<T<1> = U32<1>>) {}
fn main() {
take1(());
}

19
tests/crashes/118784.rs Normal file
View file

@ -0,0 +1,19 @@
//@ known-bug: #118784
//@ needs-rustc-debug-assertions
use std::collections::HashMap;
macro_rules! all_sync_send {
($ctor:expr, $($iter:expr),+) => ({
$(
let mut x = $ctor;
is_sync(x.$iter());
let mut y = $ctor;
is_send(y.$iter());
)+
})
}
fn main() {
all_sync_send!(HashMap, HashMap);
}

11
tests/crashes/120175.rs Normal file
View file

@ -0,0 +1,11 @@
//@ known-bug: #120175
//@ needs-rustc-debug-assertions
#![feature(extern_types)]
#[link(name = "bar", import_name_type = "decorated", kind = "raw-dylib")]
extern "C" {
pub type CrossCrate;
}
fn main() {}

9
tests/crashes/121176.rs Normal file
View file

@ -0,0 +1,9 @@
//@ known-bug: #121176
//@ needs-rustc-debug-assertions
use std::fmt::Debug;
static STATIC_1: dyn Debug + Sync = *();
fn main() {
println!("{:?}", &STATIC_1);
}

5
tests/crashes/123861.rs Normal file
View file

@ -0,0 +1,5 @@
//@ known-bug: #123861
//@ needs-rustc-debug-assertions
struct _;
fn mainIterator<_ = _> {}

14
tests/crashes/123862.rs Normal file
View file

@ -0,0 +1,14 @@
//@ known-bug: #123862
//@ needs-rustc-debug-assertions
macro_rules! pos {
() => {
(file![$($pos,)* pos!()], line!())
};
}
fn outer() {
inner_inlined(main_pos, pos!());
}
fn inner_inlined() {}

10
tests/crashes/130395.rs Normal file
View file

@ -0,0 +1,10 @@
//@ known-bug: #130395
//@ needs-rustc-debug-assertions
enum U {
B(isize, usize),
}
fn main() {
let x = T::A(U::C);
}