Auto merge of #54823 - euclio:needs-test, r=alexcrichton

Add tests for some E-needstest issues

Fixes #28134.
Fixes #24338.
Fixes #29743.
This commit is contained in:
bors 2018-10-07 08:32:19 +00:00
commit 987a50bab3
4 changed files with 68 additions and 0 deletions

View File

@ -0,0 +1,30 @@
// Copyright 2018 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-pass
trait DictLike<'a> {
type ItemsIterator: Iterator<Item=u8>;
fn get(c: Self::ItemsIterator) {
c.into_iter();
}
}
trait DictLike2<'a> {
type ItemsIterator: Iterator<Item=u8>;
fn items(&self) -> Self::ItemsIterator;
fn get(&self) {
for _ in self.items() {}
}
}
fn main() {}

View File

@ -0,0 +1,13 @@
// Copyright 2018 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
#![test] //~ ERROR only functions may be used as tests

View File

@ -0,0 +1,8 @@
error: only functions may be used as tests
--> $DIR/issue-28134.rs:13:1
|
LL | #![test] //~ ERROR only functions may be used as tests
| ^^^^^^^^
error: aborting due to previous error

View File

@ -0,0 +1,17 @@
// Copyright 2018 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-pass
fn main() {
let mut i = [1, 2, 3];
i[i[0]] = 0;
i[i[0] - 1] = 0;
}