提交 3fa28cb2 编写于 作者: C Cengiz Can

Add a new ui test and update existing ones

上级 7aff6add
......@@ -14,7 +14,6 @@ fn new<T>() -> &'static T {
fn main() {
let &v = new();
//~^ ERROR unable to fully infer type(s) [E0282]
//~| NOTE cannot infer type
//~| NOTE type annotations or generic parameter binding
//~^ ERROR type annotations needed [E0282]
//~| NOTE cannot infer type for `_`
}
......@@ -14,7 +14,6 @@ fn new<'r, T>() -> &'r T {
fn main() {
let &v = new();
//~^ ERROR unable to fully infer type(s) [E0282]
//~| NOTE cannot infer type
//~| NOTE type annotations or generic parameter binding
//~^ ERROR type annotations needed [E0282]
//~| NOTE cannot infer type for `_`
}
......@@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// error-pattern:type annotations or generic parameter binding required
// error-pattern:type annotations needed
fn main() {
panic!(
std::default::Default::default()
......
......@@ -13,6 +13,6 @@
struct B<T>(marker::PhantomData<T>);
fn main() {
let foo = B(marker::PhantomData); //~ ERROR unable to fully infer type(s)
let foo = B(marker::PhantomData); //~ ERROR type annotations needed
let closure = || foo;
}
......@@ -9,5 +9,5 @@
// except according to those terms.
fn main() {
let x; //~ ERROR unable to fully infer type(s)
let x; //~ ERROR type annotations needed
}
......@@ -14,6 +14,5 @@ fn main()
fn bar(x:i32) ->i32 { 3*x };
let b:Box<Any> = Box::new(bar as fn(_)->_);
b.downcast_ref::<fn(_)->_>(); //~ ERROR E0282
//~| NOTE cannot infer type
//~| NOTE type annotations or generic parameter binding required
//~| NOTE cannot infer type for `_`
}
......@@ -25,6 +25,6 @@ pub fn let_<'var, VAR, F: for<'v: 'var> Fn(Expr<'v, VAR>) -> Expr<'v, VAR>>
fn main() {
let ex = |x| {
let_(add(x,x), |y| { //~ ERROR unable to fully infer type(s)
let_(add(x,x), |y| { //~ ERROR type annotations needed
let_(add(x, x), |x|x)})};
}
......@@ -13,5 +13,5 @@ fn main() {
let a = 1;
let b = 2;
unsafe {swap::<&mut _>(transmute(&a), transmute(&b))};
//~^ ERROR unable to fully infer type(s)
//~^ ERROR type annotations needed
}
......@@ -9,4 +9,4 @@
// except according to those terms.
fn main() { format!("{:?}", None); }
//~^ ERROR unable to fully infer type(s) [E0282]
//~^ ERROR type annotations needed [E0282]
......@@ -11,5 +11,5 @@
fn main() {
// Unconstrained type:
format!("{:?}", None);
//~^ ERROR unable to fully infer type(s) [E0282]
//~^ ERROR type annotations needed [E0282]
}
......@@ -12,7 +12,6 @@
fn main() {
mem::transmute(0);
//~^ ERROR unable to fully infer type(s) [E0282]
//~| NOTE cannot infer type
//~| NOTE type annotations or generic parameter binding
//~^ ERROR type annotations needed [E0282]
//~| NOTE cannot infer type for `U`
}
......@@ -17,9 +17,8 @@ pub fn foo<State>(_: TypeWithState<State>) {}
pub fn bar() {
foo(TypeWithState(marker::PhantomData));
//~^ ERROR unable to fully infer type(s) [E0282]
//~| NOTE cannot infer type
//~| NOTE type annotations or generic parameter binding
//~^ ERROR type annotations needed [E0282]
//~| NOTE cannot infer type for `State`
}
fn main() {
......
......@@ -10,8 +10,7 @@
fn main() {
let v = &[];
let it = v.iter(); //~ ERROR unable to fully infer type(s) [E0282]
//~| NOTE cannot infer type
//~| NOTE annotating the type for the variable `it` would help
//~| NOTE type annotations or generic parameter binding
let it = v.iter(); //~ ERROR type annotations needed [E0282]
//~| NOTE cannot infer type for `T`
//~| NOTE consider giving `it` a type
}
......@@ -32,7 +32,7 @@ fn foo(&self) -> isize {2}
fn m1() {
// we couldn't infer the type of the vector just based on calling foo()...
let mut x = Vec::new();
//~^ ERROR unable to fully infer type(s) [E0282]
//~^ ERROR type annotations needed [E0282]
x.foo();
}
......
......@@ -34,9 +34,8 @@ fn test<T,U>(_: T, _: U)
fn a() {
test(22, std::default::Default::default());
//~^ ERROR unable to fully infer type(s) [E0282]
//~| NOTE cannot infer type
//~| NOTE type annotations or generic parameter binding
//~^ ERROR type annotations needed [E0282]
//~| NOTE cannot infer type for `U`
}
fn main() {}
......@@ -11,7 +11,6 @@
// Issue #5062
fn main() {
None; //~ ERROR unable to fully infer type(s) [E0282]
//~| NOTE cannot infer type
//~| NOTE type annotations or generic parameter binding
None; //~ ERROR type annotations needed [E0282]
//~| NOTE cannot infer type for `T`
}
......@@ -13,7 +13,6 @@ struct S<'a, T:'a> {
}
fn main() {
S { o: &None }; //~ ERROR unable to fully infer type(s) [E0282]
//~| NOTE cannot infer type
//~| NOTE type annotations or generic parameter binding
S { o: &None }; //~ ERROR type annotations needed [E0282]
//~| NOTE cannot infer type for `T`
}
......@@ -11,8 +11,7 @@
fn main() {
let _foo = Vec::new();
//~^ ERROR unable to fully infer type(s) [E0282]
//~| NOTE cannot infer type
//~| NOTE annotating the type for the variable `_foo` would help
//~| NOTE type annotations or generic parameter binding
//~^ ERROR type annotations needed [E0282]
//~| NOTE cannot infer type for `T`
//~| NOTE consider giving `_foo` a type
}
// 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.
fn main() {
let (x,) = (vec![],);
}
error[E0282]: type annotations needed
--> $DIR/issue-38812-2.rs:12:17
|
12 | let (x,) = (vec![],);
| ---- ^^^^^^ cannot infer type for `T`
| |
| consider giving a type to pattern
|
= note: this error originates in a macro outside of the current crate
error: aborting due to previous error
// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
// 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.
//
......
error[E0282]: unable to fully infer type(s)
--> $DIR/repair_span_std_macros.rs:12:13
error[E0282]: type annotations needed
--> $DIR/issue-38812.rs:12:13
|
12 | let x = vec![];
| - ^^^^^^ cannot infer type
| - ^^^^^^ cannot infer type for `T`
| |
| annotating the type for the variable `x` would help
| consider giving `x` a type
|
= note: type annotations or generic parameter binding required
= note: this error originates in a macro outside of the current crate
error: aborting due to previous error
......
// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
// 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.
//
......
error[E0282]: unable to fully infer type(s)
error[E0282]: type annotations needed
--> $DIR/missing-type-parameter.rs:14:5
|
14 | foo();
| ^^^ cannot infer type
|
= note: type annotations or generic parameter binding required
| ^^^ cannot infer type for `X`
error: aborting due to previous error
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册