crashes: increment the number of tracked ones

This commit is contained in:
Matthias Krüger 2024-05-25 12:05:49 +02:00
parent f6e4703e91
commit e5d100363a
13 changed files with 171 additions and 0 deletions

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

@ -0,0 +1,13 @@
//@ known-bug: rust-lang/rust#123255
//@ edition:2021
#![crate_type = "lib"]
pub fn a() {}
mod handlers {
pub struct C(&());
pub fn c() -> impl Fn() -> C {
let a1 = ();
|| C((crate::a(), a1).into())
}
}

25
tests/crashes/123276.rs Normal file
View file

@ -0,0 +1,25 @@
//@ known-bug: rust-lang/rust#123276
//@ edition:2021
async fn create_task() {
_ = Some(async { bind(documentation_filter()) });
}
async fn bind<Fut, F: Filter<Future = Fut>>(_: F) {}
fn documentation_filter() -> impl Filter {
AndThen
}
trait Filter {
type Future;
}
struct AndThen;
impl Filter for AndThen
where
Foo: Filter,
{
type Future = ();
}

15
tests/crashes/123887.rs Normal file
View file

@ -0,0 +1,15 @@
//@ known-bug: rust-lang/rust#123887
//@ compile-flags: -Clink-dead-code
#![feature(extern_types)]
#![feature(unsized_fn_params)]
extern "C" {
pub type ExternType;
}
impl ExternType {
pub fn f(self) {}
}
pub fn main() {}

View file

@ -0,0 +1,5 @@
//@ known-bug: rust-lang/rust#125013
//@ edition:2021
use io::{self as std};
use std::ops::Deref::{self as io};
pub fn main() {}

16
tests/crashes/125013-2.rs Normal file
View file

@ -0,0 +1,16 @@
//@ known-bug: rust-lang/rust#125013
//@ edition:2021
mod a {
pub mod b {
pub mod c {
pub trait D {}
}
}
}
use a::*;
use e as b;
use b::c::D as e;
fn main() { }

17
tests/crashes/125014.rs Normal file
View file

@ -0,0 +1,17 @@
//@ known-bug: rust-lang/rust#125014
//@ compile-flags: -Znext-solver=coherence
#![feature(specialization)]
trait Foo {}
impl Foo for <u16 as Assoc>::Output {}
impl Foo for u32 {}
trait Assoc {
type Output;
}
impl Output for u32 {}
impl Assoc for <u16 as Assoc>::Output {
default type Output = bool;
}

12
tests/crashes/125059.rs Normal file
View file

@ -0,0 +1,12 @@
//@ known-bug: rust-lang/rust#125059
#![feature(deref_patterns)]
#![allow(incomplete_features)]
fn simple_vec(vec: Vec<u32>) -> u32 {
(|| match Vec::<u32>::new() {
deref!([]) => 100,
_ => 2000,
})()
}
fn main() {}

6
tests/crashes/125323.rs Normal file
View file

@ -0,0 +1,6 @@
//@ known-bug: rust-lang/rust#125323
fn main() {
for _ in 0..0 {
[(); loop {}];
}
}

16
tests/crashes/125370.rs Normal file
View file

@ -0,0 +1,16 @@
//@ known-bug: rust-lang/rust#125370
type Field3 = i64;
#[repr(C)]
union DummyUnion {
field3: Field3,
}
const UNION: DummyUnion = loop {};
const fn read_field2() -> Field2 {
const FIELD2: Field2 = loop {
UNION.field3
};
}

17
tests/crashes/125432.rs Normal file
View file

@ -0,0 +1,17 @@
//@ known-bug: rust-lang/rust#125432
fn separate_arms() {
// Here both arms perform assignments, but only one is illegal.
let mut x = None;
match x {
None => {
// It is ok to reassign x here, because there is in
// fact no outstanding loan of x!
x = Some(0);
}
Some(right) => consume(right),
}
}
fn main() {}

3
tests/crashes/125476.rs Normal file
View file

@ -0,0 +1,3 @@
//@ known-bug: rust-lang/rust#125476
pub struct Data([u8; usize::MAX >> 16]);
const _: &'static [Data] = &[];

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

@ -0,0 +1,10 @@
//@ known-bug: rust-lang/rust#125512
//@ edition:2021
#![feature(object_safe_for_dispatch)]
trait B {
fn f(a: A) -> A;
}
trait A {
fn concrete(b: B) -> B;
}
fn main() {}

16
tests/crashes/125520.rs Normal file
View file

@ -0,0 +1,16 @@
//@ known-bug: #125520
#![feature(generic_const_exprs)]
struct Outer<const A: i64, const B: i64>();
impl<const A: usize, const B: usize> Outer<A, B>
where
[(); A + (B * 2)]:,
{
fn i() -> Self {
Self
}
}
fn main() {
Outer::<1, 1>::o();
}