Rollup merge of #43465 - topecongiro:needs-test, r=Mark-Simulacrum
Add tests for issues with the E-needstest label Fixes #19181. Fixes #29516. Fixes #29798. Fixes #33504. Fixes #34780. Fixes #39211. Fixes #39467. Fixes #39720.
This commit is contained in:
commit
9f4450b5a0
19
src/test/compile-fail/issue-33504.rs
Normal file
19
src/test/compile-fail/issue-33504.rs
Normal file
@ -0,0 +1,19 @@
|
||||
// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
// Shadowing a unit-like enum in a closure
|
||||
|
||||
struct Test;
|
||||
|
||||
fn main() {
|
||||
|| {
|
||||
let Test = 1; //~ ERROR let bindings cannot shadow unit structs
|
||||
};
|
||||
}
|
24
src/test/compile-fail/issue-39211.rs
Normal file
24
src/test/compile-fail/issue-39211.rs
Normal file
@ -0,0 +1,24 @@
|
||||
// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#![feature(associated_consts)]
|
||||
|
||||
trait VecN {
|
||||
const DIM: usize;
|
||||
}
|
||||
trait Mat {
|
||||
type Row: VecN;
|
||||
}
|
||||
|
||||
fn m<M: Mat>() {
|
||||
let a = [3; M::Row::DIM]; //~ ERROR associated type `Row` not found for `M`
|
||||
}
|
||||
fn main() {
|
||||
}
|
20
src/test/run-fail/issue-29798.rs
Normal file
20
src/test/run-fail/issue-29798.rs
Normal file
@ -0,0 +1,20 @@
|
||||
// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
// error-pattern:index out of bounds: the len is 5 but the index is 5
|
||||
|
||||
#![feature(const_fn)]
|
||||
const fn test(x: usize) -> i32 {
|
||||
[42;5][x]
|
||||
}
|
||||
|
||||
fn main () {
|
||||
let _ = test(5);
|
||||
}
|
28
src/test/run-pass/issue-29516.rs
Normal file
28
src/test/run-pass/issue-29516.rs
Normal file
@ -0,0 +1,28 @@
|
||||
// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#![feature(optin_builtin_traits)]
|
||||
|
||||
trait NotSame {}
|
||||
impl NotSame for .. {}
|
||||
impl<A> !NotSame for (A, A) {}
|
||||
|
||||
trait OneOfEach {}
|
||||
|
||||
impl<A> OneOfEach for (A,) {}
|
||||
|
||||
impl<A, B> OneOfEach for (A, B)
|
||||
where
|
||||
(B,): OneOfEach,
|
||||
(A, B): NotSame,
|
||||
{
|
||||
}
|
||||
|
||||
fn main() {}
|
19
src/test/run-pass/issue-34780.rs
Normal file
19
src/test/run-pass/issue-34780.rs
Normal file
@ -0,0 +1,19 @@
|
||||
// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#![feature(associated_consts)]
|
||||
|
||||
use std::marker::PhantomData;
|
||||
|
||||
trait Tr<'a> {
|
||||
const C: PhantomData<&'a u8> = PhantomData::<&'a u8>;
|
||||
}
|
||||
|
||||
fn main() {}
|
19
src/test/run-pass/issue-39467.rs
Normal file
19
src/test/run-pass/issue-39467.rs
Normal file
@ -0,0 +1,19 @@
|
||||
// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
macro_rules! expr { () => { () } }
|
||||
|
||||
enum A {}
|
||||
|
||||
impl A {
|
||||
const A: () = expr!();
|
||||
}
|
||||
|
||||
fn main() {}
|
31
src/test/run-pass/issue-39720.rs
Normal file
31
src/test/run-pass/issue-39720.rs
Normal file
@ -0,0 +1,31 @@
|
||||
// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#![feature(repr_simd, platform_intrinsics)]
|
||||
|
||||
#[repr(C)]
|
||||
#[repr(simd)]
|
||||
#[derive(Copy, Clone, Debug)]
|
||||
pub struct char3(pub i8, pub i8, pub i8);
|
||||
|
||||
#[repr(C)]
|
||||
#[repr(simd)]
|
||||
#[derive(Copy, Clone, Debug)]
|
||||
pub struct short3(pub i16, pub i16, pub i16);
|
||||
|
||||
extern "platform-intrinsic" {
|
||||
fn simd_cast<T, U>(x: T) -> U;
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let cast: short3 = unsafe { simd_cast(char3(10, -3, -9)) };
|
||||
|
||||
println!("{:?}", cast);
|
||||
}
|
15
src/test/rustdoc/issue-19181.rs
Normal file
15
src/test/rustdoc/issue-19181.rs
Normal file
@ -0,0 +1,15 @@
|
||||
// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:--test
|
||||
|
||||
// rustdoc should not panic when target crate has compilation errors
|
||||
|
||||
fn main() { 0 }
|
Loading…
Reference in New Issue
Block a user