diff --git a/src/test/compile-fail/issue-33504.rs b/src/test/compile-fail/issue-33504.rs new file mode 100644 index 00000000000..bc78d20745a --- /dev/null +++ b/src/test/compile-fail/issue-33504.rs @@ -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 or the MIT license +// , 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 + }; +} diff --git a/src/test/compile-fail/issue-39211.rs b/src/test/compile-fail/issue-39211.rs new file mode 100644 index 00000000000..96ba1c83997 --- /dev/null +++ b/src/test/compile-fail/issue-39211.rs @@ -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 or the MIT license +// , 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() { + let a = [3; M::Row::DIM]; //~ ERROR associated type `Row` not found for `M` +} +fn main() { +} diff --git a/src/test/run-fail/issue-29798.rs b/src/test/run-fail/issue-29798.rs new file mode 100644 index 00000000000..a77175975f9 --- /dev/null +++ b/src/test/run-fail/issue-29798.rs @@ -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 or the MIT license +// , 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); +} diff --git a/src/test/run-pass/issue-29516.rs b/src/test/run-pass/issue-29516.rs new file mode 100644 index 00000000000..b586abc29e2 --- /dev/null +++ b/src/test/run-pass/issue-29516.rs @@ -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 or the MIT license +// , 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 !NotSame for (A, A) {} + +trait OneOfEach {} + +impl OneOfEach for (A,) {} + +impl OneOfEach for (A, B) +where + (B,): OneOfEach, + (A, B): NotSame, +{ +} + +fn main() {} diff --git a/src/test/run-pass/issue-34780.rs b/src/test/run-pass/issue-34780.rs new file mode 100644 index 00000000000..eda4ebb7132 --- /dev/null +++ b/src/test/run-pass/issue-34780.rs @@ -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 or the MIT license +// , 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() {} diff --git a/src/test/run-pass/issue-39467.rs b/src/test/run-pass/issue-39467.rs new file mode 100644 index 00000000000..9f94be271ee --- /dev/null +++ b/src/test/run-pass/issue-39467.rs @@ -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 or the MIT license +// , 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() {} diff --git a/src/test/run-pass/issue-39720.rs b/src/test/run-pass/issue-39720.rs new file mode 100644 index 00000000000..f90696e3cdf --- /dev/null +++ b/src/test/run-pass/issue-39720.rs @@ -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 or the MIT license +// , 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(x: T) -> U; +} + +fn main() { + let cast: short3 = unsafe { simd_cast(char3(10, -3, -9)) }; + + println!("{:?}", cast); +} diff --git a/src/test/rustdoc/issue-19181.rs b/src/test/rustdoc/issue-19181.rs new file mode 100644 index 00000000000..a2935b73596 --- /dev/null +++ b/src/test/rustdoc/issue-19181.rs @@ -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 or the MIT license +// , 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 }