crashes: add more
This commit is contained in:
parent
c00957a3e2
commit
734e216b35
10
tests/crashes/124833.rs
Normal file
10
tests/crashes/124833.rs
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
//@ known-bug: rust-lang/rust#124833
|
||||||
|
#![feature(generic_const_items)]
|
||||||
|
|
||||||
|
trait Trait {
|
||||||
|
const C<'a>: &'a str;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Trait for () {
|
||||||
|
const C<'a>: = "C";
|
||||||
|
}
|
11
tests/crashes/124857.rs
Normal file
11
tests/crashes/124857.rs
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
//@ known-bug: rust-lang/rust#124857
|
||||||
|
//@ compile-flags: -Znext-solver=coherence
|
||||||
|
|
||||||
|
#![feature(effects)]
|
||||||
|
|
||||||
|
#[const_trait]
|
||||||
|
trait Foo {}
|
||||||
|
|
||||||
|
impl const Foo for i32 {}
|
||||||
|
|
||||||
|
impl<T> const Foo for T where T: ~const Foo {}
|
22
tests/crashes/124891.rs
Normal file
22
tests/crashes/124891.rs
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
//@ known-bug: rust-lang/rust#124891
|
||||||
|
|
||||||
|
type Tait = impl FnOnce() -> ();
|
||||||
|
|
||||||
|
fn reify_as_tait() -> Thunk<Tait> {
|
||||||
|
Thunk::new(|cont| cont)
|
||||||
|
}
|
||||||
|
|
||||||
|
struct Thunk<F>(F);
|
||||||
|
|
||||||
|
impl<F> Thunk<F> {
|
||||||
|
fn new(f: F)
|
||||||
|
where
|
||||||
|
F: ContFn,
|
||||||
|
{
|
||||||
|
todo!();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
trait ContFn {}
|
||||||
|
|
||||||
|
impl<F: FnOnce(Tait) -> ()> ContFn for F {}
|
11
tests/crashes/124894.rs
Normal file
11
tests/crashes/124894.rs
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
//@ known-bug: rust-lang/rust#124894
|
||||||
|
//@ compile-flags: -Znext-solver=coherence
|
||||||
|
|
||||||
|
#![feature(generic_const_exprs)]
|
||||||
|
|
||||||
|
pub trait IsTrue<const mem: bool> {}
|
||||||
|
impl<T> IsZST for T where (): IsTrue<{ std::mem::size_of::<T>() == 0 }> {}
|
||||||
|
|
||||||
|
pub trait IsZST {}
|
||||||
|
|
||||||
|
impl IsZST for IsZST {}
|
7
tests/crashes/125081.rs
Normal file
7
tests/crashes/125081.rs
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
//@ known-bug: rust-lang/rust#125081
|
||||||
|
|
||||||
|
use std::cell::Cell;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let _: Cell<&str, "a"> = Cell::new('β);
|
||||||
|
}
|
24
tests/crashes/125099.rs
Normal file
24
tests/crashes/125099.rs
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
//@ known-bug: rust-lang/rust#125099
|
||||||
|
|
||||||
|
pub trait ContFn<T>: Fn(T) -> Self::Future {
|
||||||
|
type Future;
|
||||||
|
}
|
||||||
|
impl<T, F> ContFn<T> for F
|
||||||
|
where
|
||||||
|
F: Fn(T),
|
||||||
|
{
|
||||||
|
type Future = ();
|
||||||
|
}
|
||||||
|
|
||||||
|
pub trait SeqHandler {
|
||||||
|
type Requires;
|
||||||
|
fn process<F: ContFn<Self::Requires>>() -> impl Sized;
|
||||||
|
}
|
||||||
|
|
||||||
|
pub struct ConvertToU64;
|
||||||
|
impl SeqHandler for ConvertToU64 {
|
||||||
|
type Requires = u64;
|
||||||
|
fn process<F: ContFn<Self::Requires>>() -> impl Sized {}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {}
|
17
tests/crashes/125155.rs
Normal file
17
tests/crashes/125155.rs
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
//@ known-bug: rust-lang/rust#125155
|
||||||
|
|
||||||
|
enum NestedEnum {
|
||||||
|
First,
|
||||||
|
Second,
|
||||||
|
Third
|
||||||
|
}
|
||||||
|
enum Enum {
|
||||||
|
Variant2(Option<*mut &'a &'b ()>)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
fn foo(x: Enum) -> isize {
|
||||||
|
match x {
|
||||||
|
Enum::Variant2(NestedEnum::Third) => 4,
|
||||||
|
}
|
||||||
|
}
|
16
tests/crashes/125185.rs
Normal file
16
tests/crashes/125185.rs
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
//@ known-bug: rust-lang/rust#125185
|
||||||
|
//@ compile-flags: -Zvalidate-mir
|
||||||
|
|
||||||
|
type Foo = impl Send;
|
||||||
|
|
||||||
|
struct A;
|
||||||
|
|
||||||
|
const VALUE: Foo = value();
|
||||||
|
|
||||||
|
fn test(foo: Foo<'a>, f: impl for<'b> FnMut()) {
|
||||||
|
match VALUE {
|
||||||
|
0 | 0 => {}
|
||||||
|
|
||||||
|
_ => (),
|
||||||
|
}
|
||||||
|
}
|
8
tests/crashes/125249.rs
Normal file
8
tests/crashes/125249.rs
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
//@ known-bug: rust-lang/rust#125185
|
||||||
|
#![feature(return_position_impl_trait_in_trait, return_type_notation)]
|
||||||
|
|
||||||
|
trait IntFactory {
|
||||||
|
fn stream(&self) -> impl IntFactory<stream(): IntFactory<stream(): Send> + Send>;
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn main() {}
|
Loading…
Reference in New Issue
Block a user