Skip to content

Commit

Permalink
crashes: increment the number of tracked ones
Browse files Browse the repository at this point in the history
  • Loading branch information
matthiaskrgr committed May 27, 2024
1 parent f6e4703 commit e5d1003
Show file tree
Hide file tree
Showing 13 changed files with 171 additions and 0 deletions.
13 changes: 13 additions & 0 deletions tests/crashes/123255.rs
Original file line number Diff line number Diff line change
@@ -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 changes: 25 additions & 0 deletions tests/crashes/123276.rs
Original file line number Diff line number Diff line change
@@ -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 changes: 15 additions & 0 deletions tests/crashes/123887.rs
Original file line number Diff line number Diff line change
@@ -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() {}
5 changes: 5 additions & 0 deletions tests/crashes/125013-1.rs
Original file line number Diff line number Diff line change
@@ -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 changes: 16 additions & 0 deletions tests/crashes/125013-2.rs
Original file line number Diff line number Diff line change
@@ -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 changes: 17 additions & 0 deletions tests/crashes/125014.rs
Original file line number Diff line number Diff line change
@@ -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 changes: 12 additions & 0 deletions tests/crashes/125059.rs
Original file line number Diff line number Diff line change
@@ -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 changes: 6 additions & 0 deletions tests/crashes/125323.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
//@ known-bug: rust-lang/rust#125323
fn main() {
for _ in 0..0 {
[(); loop {}];
}
}
16 changes: 16 additions & 0 deletions tests/crashes/125370.rs
Original file line number Diff line number Diff line change
@@ -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 changes: 17 additions & 0 deletions tests/crashes/125432.rs
Original file line number Diff line number Diff line change
@@ -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 changes: 3 additions & 0 deletions tests/crashes/125476.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
//@ known-bug: rust-lang/rust#125476
pub struct Data([u8; usize::MAX >> 16]);
const _: &'static [Data] = &[];
10 changes: 10 additions & 0 deletions tests/crashes/125512.rs
Original file line number Diff line number Diff line change
@@ -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 changes: 16 additions & 0 deletions tests/crashes/125520.rs
Original file line number Diff line number Diff line change
@@ -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();
}

0 comments on commit e5d1003

Please sign in to comment.