mirror of
https://github.com/rust-lang/rust.git
synced 2024-10-29 21:41:47 +00:00
crashes: add more tests
This commit is contained in:
parent
5ff8fbb2d8
commit
60c0fa1285
5
tests/crashes/124262.rs
Normal file
5
tests/crashes/124262.rs
Normal file
@ -0,0 +1,5 @@
|
||||
//@ known-bug: #124262
|
||||
//@ edition:2021
|
||||
|
||||
struct Foo(<&[fn()] as ::core::ops::Deref>::Target);
|
||||
const _: *const Foo = 0 as _;
|
17
tests/crashes/124340.rs
Normal file
17
tests/crashes/124340.rs
Normal file
@ -0,0 +1,17 @@
|
||||
//@ known-bug: #124340
|
||||
#![feature(anonymous_lifetime_in_impl_trait)]
|
||||
|
||||
trait Producer {
|
||||
type Output;
|
||||
fn produce(self) -> Self::Output;
|
||||
}
|
||||
|
||||
trait SomeTrait<'a> {}
|
||||
|
||||
fn force_same_lifetime<'a>(_x: &'a i32, _y: impl SomeTrait<'a>) {
|
||||
unimplemented!()
|
||||
}
|
||||
|
||||
fn foo<'a>(s: &'a i32, producer: impl Producer<Output: SomeTrait<'_>>) {
|
||||
force_same_lifetime(s, producer.produce());
|
||||
}
|
6
tests/crashes/124342.rs
Normal file
6
tests/crashes/124342.rs
Normal file
@ -0,0 +1,6 @@
|
||||
//@ known-bug: #124342
|
||||
trait Trait2 : Trait {
|
||||
reuse <() as Trait>::async {
|
||||
(async || {}).await;
|
||||
};
|
||||
}
|
4
tests/crashes/124347.rs
Normal file
4
tests/crashes/124347.rs
Normal file
@ -0,0 +1,4 @@
|
||||
//@ known-bug: #124347
|
||||
trait Trait: ToReuse {
|
||||
reuse Trait::lolno { &self.0 };
|
||||
}
|
7
tests/crashes/124348.rs
Normal file
7
tests/crashes/124348.rs
Normal file
@ -0,0 +1,7 @@
|
||||
//@ known-bug: #124348
|
||||
enum Eek {
|
||||
TheConst,
|
||||
UnusedByTheConst(Sum),
|
||||
}
|
||||
|
||||
const EEK_ZERO: &[Eek] = &[];
|
17
tests/crashes/124350.rs
Normal file
17
tests/crashes/124350.rs
Normal file
@ -0,0 +1,17 @@
|
||||
//@ known-bug: #124350
|
||||
|
||||
struct Node<const D: usize> {}
|
||||
|
||||
impl Node<D>
|
||||
where
|
||||
SmallVec<{ D * 2 }>:,
|
||||
{
|
||||
fn new() -> Self {
|
||||
let mut node = Node::new();
|
||||
(&a, 0)();
|
||||
|
||||
node
|
||||
}
|
||||
}
|
||||
|
||||
struct SmallVec<T1, T2> {}
|
4
tests/crashes/124352.rs
Normal file
4
tests/crashes/124352.rs
Normal file
@ -0,0 +1,4 @@
|
||||
//@ known-bug: #124352
|
||||
#![rustc_never_type_options(: Unsize<U> = "hi")]
|
||||
|
||||
fn main() {}
|
11
tests/crashes/124375.rs
Normal file
11
tests/crashes/124375.rs
Normal file
@ -0,0 +1,11 @@
|
||||
//@ known-bug: #124375
|
||||
//@ compile-flags: -Zmir-opt-level=0
|
||||
//@ only-x86_64
|
||||
#![crate_type = "lib"]
|
||||
#![feature(naked_functions)]
|
||||
use std::arch::asm;
|
||||
|
||||
#[naked]
|
||||
pub unsafe extern "C" fn naked_with_args_and_return(a: isize, b: isize) -> isize {
|
||||
asm!("lea rax, [rdi + rsi]", "ret", options(noreturn));
|
||||
}
|
31
tests/crashes/92470.rs
Normal file
31
tests/crashes/92470.rs
Normal file
@ -0,0 +1,31 @@
|
||||
//@ known-bug: #92470
|
||||
fn main() {
|
||||
encode(&mut EncoderImpl);
|
||||
}
|
||||
|
||||
pub trait Encoder {
|
||||
type W;
|
||||
|
||||
fn writer(&self) -> Self::W;
|
||||
}
|
||||
|
||||
fn encode<E: Encoder>(mut encoder: E) {
|
||||
encoder.writer();
|
||||
encode(&mut encoder);
|
||||
}
|
||||
|
||||
struct EncoderImpl;
|
||||
|
||||
impl Encoder for EncoderImpl {
|
||||
type W = ();
|
||||
|
||||
fn writer(&self) {}
|
||||
}
|
||||
|
||||
impl<'a, T: Encoder> Encoder for &'a mut T {
|
||||
type W = T::W;
|
||||
|
||||
fn writer(&self) -> Self::W {
|
||||
panic!()
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user