Skip to content

Commit 11bc48a

Browse files
committed
Auto merge of rust-lang#40276 - topecongiro:add-test, r=petrochenkov
Add missing tests for 'E-needstest' labeled issues This PR adds missing tests for issue rust-lang#35988, rust-lang#19712, ~~rust-lang#18627~~, rust-lang#24947, rust-lang#28600 and rust-lang#34751.
2 parents bd62cbf + a54f9dd commit 11bc48a

File tree

5 files changed

+118
-0
lines changed

5 files changed

+118
-0
lines changed

src/test/compile-fail/issue-35988.rs

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
enum E {
12+
V([Box<E>]),
13+
//~^ ERROR the trait bound `[std::boxed::Box<E>]: std::marker::Sized` is not satisfied [E0277]
14+
}
15+
16+
fn main() {}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
// See issue 19712
12+
13+
#![deny(missing_copy_implementations)]
14+
15+
mod inner {
16+
pub struct Foo { //~ ERROR type could implement `Copy`; consider adding `impl Copy`
17+
pub field: i32
18+
}
19+
}
20+
21+
pub fn foo() -> inner::Foo {
22+
inner::Foo { field: 42 }
23+
}
24+
25+
fn main() {}

src/test/run-pass/issue-24947.rs

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
// #24947 ICE using a trait-associated const in an array size
12+
13+
#![feature(associated_consts)]
14+
15+
struct Foo;
16+
17+
impl Foo {
18+
const SIZE: usize = 8;
19+
}
20+
21+
trait Bar {
22+
const BAR_SIZE: usize;
23+
}
24+
25+
impl Bar for Foo {
26+
const BAR_SIZE: usize = 12;
27+
}
28+
29+
#[allow(unused_variables)]
30+
fn main() {
31+
let w: [u8; 12] = [0u8; <Foo as Bar>::BAR_SIZE];
32+
let x: [u8; 12] = [0u8; <Foo>::BAR_SIZE];
33+
let y: [u8; 8] = [0u8; <Foo>::SIZE];
34+
let z: [u8; 8] = [0u8; Foo::SIZE];
35+
}

src/test/run-pass/issue-28600.rs

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
// #28600 ICE: pub extern fn with parameter type &str inside struct impl
12+
13+
struct Test;
14+
15+
impl Test {
16+
#[allow(dead_code)]
17+
#[allow(unused_variables)]
18+
pub extern fn test(val: &str) {
19+
20+
}
21+
}
22+
23+
fn main() {}

src/test/run-pass/issue-34751.rs

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
// #34751 ICE: 'rustc' panicked at 'assertion failed: !substs.has_regions_escaping_depth(0)'
12+
13+
#[allow(dead_code)]
14+
15+
use std::marker::PhantomData;
16+
17+
fn f<'a>(PhantomData::<&'a u8>: PhantomData<&'a u8>) {}
18+
19+
fn main() {}

0 commit comments

Comments
 (0)