Rollup merge of #124775 - matthiaskrgr:boom, r=jieyouxu
crashes: add lastest batch of crash tests
This commit is contained in:
commit
812fb24e79
7
tests/crashes/124436.rs
Normal file
7
tests/crashes/124436.rs
Normal file
@ -0,0 +1,7 @@
|
||||
//@ known-bug: rust-lang/rust#124436
|
||||
//@ compile-flags: -Zdump-mir=all -Zpolymorphize=on
|
||||
|
||||
pub trait TraitCat {}
|
||||
pub trait TraitDog {}
|
||||
|
||||
pub fn gamma<T: TraitCat + TraitDog>(t: [TraitDog; 32]) {}
|
23
tests/crashes/124440.rs
Normal file
23
tests/crashes/124440.rs
Normal file
@ -0,0 +1,23 @@
|
||||
//@ known-bug: rust-lang/rust#124440
|
||||
|
||||
#![allow(warnings)]
|
||||
|
||||
trait Foo {}
|
||||
|
||||
impl<F> Foo for F where F: FnMut(&()) {}
|
||||
|
||||
struct Bar<F> {
|
||||
f: F,
|
||||
}
|
||||
|
||||
impl<F> Foo for Bar<F> where F: Foo {}
|
||||
|
||||
fn assert_foo<F>(_: F)
|
||||
where
|
||||
Bar<F>: Foo,
|
||||
{
|
||||
}
|
||||
|
||||
fn main() {
|
||||
assert_foo(|_| ());
|
||||
}
|
17
tests/crashes/124464.rs
Normal file
17
tests/crashes/124464.rs
Normal file
@ -0,0 +1,17 @@
|
||||
//@ known-bug: rust-lang/rust #124464
|
||||
enum TestOption<T> {
|
||||
TestSome(T),
|
||||
TestSome(T),
|
||||
}
|
||||
|
||||
pub struct Request {
|
||||
bar: TestOption<u64>,
|
||||
bar: u8,
|
||||
}
|
||||
|
||||
fn default_instance() -> &'static Request {
|
||||
static instance: Request = Request { bar: 17 };
|
||||
&instance
|
||||
}
|
||||
|
||||
pub fn main() {}
|
16
tests/crashes/124490.rs
Normal file
16
tests/crashes/124490.rs
Normal file
@ -0,0 +1,16 @@
|
||||
//@ known-bug: rust-lang/rust#124490
|
||||
use io::{self as std};
|
||||
use std::collections::{self as io};
|
||||
|
||||
mod a {
|
||||
pub mod b {
|
||||
pub mod c {}
|
||||
}
|
||||
}
|
||||
|
||||
use a::*;
|
||||
|
||||
use b::c;
|
||||
use c as b;
|
||||
|
||||
fn main() {}
|
12
tests/crashes/124552.rs
Normal file
12
tests/crashes/124552.rs
Normal file
@ -0,0 +1,12 @@
|
||||
//@ known-bug: rust-lang/rust#124552
|
||||
|
||||
struct B;
|
||||
|
||||
struct Foo {
|
||||
b: u32,
|
||||
b: B,
|
||||
}
|
||||
|
||||
static BAR: Foo = Foo { b: B };
|
||||
|
||||
fn main() {}
|
46
tests/crashes/124563.rs
Normal file
46
tests/crashes/124563.rs
Normal file
@ -0,0 +1,46 @@
|
||||
//@ known-bug: rust-lang/rust#124563
|
||||
|
||||
use std::marker::PhantomData;
|
||||
|
||||
pub trait Trait {}
|
||||
|
||||
pub trait Foo {
|
||||
type Trait: Trait;
|
||||
type Bar: Bar;
|
||||
fn foo(&mut self);
|
||||
}
|
||||
|
||||
pub struct FooImpl<'a, 'b, A: Trait>(PhantomData<&'a &'b A>);
|
||||
|
||||
impl<'a, 'b, T> Foo for FooImpl<'a, 'b, T>
|
||||
where
|
||||
T: Trait,
|
||||
{
|
||||
type Trait = T;
|
||||
type Bar = BarImpl<'a, 'b, T>;
|
||||
|
||||
fn foo(&mut self) {
|
||||
self.enter_scope(|ctx| {
|
||||
BarImpl(ctx);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a, 'b, T> FooImpl<'a, 'b, T>
|
||||
where
|
||||
T: Trait,
|
||||
{
|
||||
fn enter_scope(&mut self, _scope: impl FnOnce(&mut Self)) {}
|
||||
}
|
||||
pub trait Bar {
|
||||
type Foo: Foo;
|
||||
}
|
||||
|
||||
pub struct BarImpl<'a, 'b, T: Trait>(&'b mut FooImpl<'a, 'b, T>);
|
||||
|
||||
impl<'a, 'b, T> Bar for BarImpl<'a, 'b, T>
|
||||
where
|
||||
T: Trait,
|
||||
{
|
||||
type Foo = FooImpl<'a, 'b, T>;
|
||||
}
|
5
tests/crashes/124583.rs
Normal file
5
tests/crashes/124583.rs
Normal file
@ -0,0 +1,5 @@
|
||||
//@ known-bug: rust-lang/rust#124583
|
||||
|
||||
fn main() {
|
||||
let _ = -(-0.0f16);
|
||||
}
|
14
tests/crashes/124702.rs
Normal file
14
tests/crashes/124702.rs
Normal file
@ -0,0 +1,14 @@
|
||||
//@ known-bug: rust-lang/rust#124702
|
||||
//@ compile-flags: -Znext-solver=coherence
|
||||
trait X {}
|
||||
|
||||
trait Z {
|
||||
type Assoc: Y;
|
||||
}
|
||||
struct A<T>(T);
|
||||
|
||||
impl<T: X> Z for A<T> {
|
||||
type Assoc = T;
|
||||
}
|
||||
|
||||
impl<T> From<<A<A<T>> as Z>::Assoc> for T {}
|
8
tests/crashes/124751.rs
Normal file
8
tests/crashes/124751.rs
Normal file
@ -0,0 +1,8 @@
|
||||
//@ known-bug: rust-lang/rust#124751
|
||||
//@ compile-flags: -Zunstable-options --edition=2024
|
||||
|
||||
#![feature(gen_blocks)]
|
||||
|
||||
fn main() {
|
||||
let _ = async gen || {};
|
||||
}
|
Loading…
Reference in New Issue
Block a user