crashes: more tests

This commit is contained in:
Matthias Krüger 2024-11-21 14:09:46 +01:00
parent a94fce97e3
commit 33e6be0c10
10 changed files with 113 additions and 0 deletions

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

@ -0,0 +1,12 @@
//@ known-bug: #132765
trait LendingIterator {
type Item<'q>;
fn for_each(&self, _f: Box<fn(Self::Item<'_>)>) {}
}
fn f(_: ()) {}
fn main() {
LendingIterator::for_each(&(), f);
}

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

@ -0,0 +1,9 @@
//@ known-bug: #132766
trait Trait {}
impl<'a> Trait for () {
fn pass2<'a>() -> impl Trait2 {}
}
trait Trait2 {}
impl Trait2 for () {}

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

@ -0,0 +1,13 @@
//@ known-bug: #132882
use std::ops::Add;
pub trait Numoid
where
for<N: Numoid> &'a Self: Add<Self>,
{
}
pub fn compute<N: Numoid>(a: N) -> N {
&a + a
}

7
tests/crashes/132981.rs Normal file
View file

@ -0,0 +1,7 @@
//@ known-bug: #132981
//@compile-flags: -Clink-dead-code=true --crate-type lib
//@ only-x86_64
//@ ignore-windows
#![feature(rust_cold_cc)]
pub extern "rust-cold" fn foo(_: [usize; 3]) {}

8
tests/crashes/133063.rs Normal file
View file

@ -0,0 +1,8 @@
//@ known-bug: #133063
fn foo(x: !) {
match x {
(! | !) if false => {}
_ => {}
}
}

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

@ -0,0 +1,12 @@
//@ known-bug: #133066
trait Owner {
const C<const N: u32>: u32;
}
impl Owner for () {;}
fn take0<const N: u64>(_: impl Owner<C<N> = { N }>) {}
fn main() {
take0::<f32, >(());
}

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

@ -0,0 +1,11 @@
//@ known-bug: #133199
//@ aux-build: aux133199.rs
extern crate aux133199;
use aux133199::FixedBitSet;
fn main() {
FixedBitSet::<7>::new();
//~^ ERROR
}

13
tests/crashes/133275-1.rs Normal file
View file

@ -0,0 +1,13 @@
//@ known-bug: #133275
#![feature(const_trait_impl)]
#![feature(associated_type_defaults)]
#[const_trait]
trait Foo3<T>
where
Self::Baz: Clone,
{
type Baz = T;
}
pub fn main() {}

15
tests/crashes/133275-2.rs Normal file
View file

@ -0,0 +1,15 @@
//@ known-bug: #133275
#![feature(const_trait_impl)]
#[const_trait]
pub trait Owo<X = <IntEnum as Uwu>::T> {}
#[const_trait]
trait Foo3<T>
where
Self::Bar: Clone,
Self::Baz: Clone,
{
type Bar = Vec<Self::Baz>;
type Baz = T;
//~^ ERROR the trait bound `T: Clone` is not satisfied
}

View file

@ -0,0 +1,13 @@
#![allow(incomplete_features)]
#![feature(generic_const_exprs)]
pub struct FixedBitSet<const N: usize>;
impl<const N: usize> FixedBitSet<N>
where
[u8; N.div_ceil(8)]: Sized,
{
pub fn new() -> Self {
todo!()
}
}