Fixing compiler error E0121
This commit is contained in:
parent
b30eff7ba7
commit
6eba89e194
@ -367,8 +367,13 @@ impl<'a, 'tcx> AstConv<'tcx, 'tcx> for ItemCtxt<'a, 'tcx> {
|
||||
_substs: Option<&mut Substs<'tcx>>,
|
||||
_space: Option<ParamSpace>,
|
||||
span: Span) -> Ty<'tcx> {
|
||||
span_err!(self.tcx().sess, span, E0121,
|
||||
"the type placeholder `_` is not allowed within types on item signatures");
|
||||
struct_span_err!(
|
||||
self.tcx().sess,
|
||||
span,
|
||||
E0121,
|
||||
"the type placeholder `_` is not allowed within types on item signatures"
|
||||
).span_label(span, &format!("not allowed in type signatures"))
|
||||
.emit();
|
||||
self.tcx().types.err
|
||||
}
|
||||
|
||||
|
@ -13,107 +13,141 @@
|
||||
|
||||
fn test() -> _ { 5 }
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
|
||||
fn test2() -> (_, _) { (5, 5) }
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~^^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
|
||||
static TEST3: _ = "test";
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
|
||||
static TEST4: _ = 145;
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
|
||||
static TEST5: (_, _) = (1, 2);
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~^^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
|
||||
fn test6(_: _) { }
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
|
||||
fn test7(x: _) { let _x: usize = x; }
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
|
||||
fn test8(_f: fn() -> _) { }
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
|
||||
struct Test9;
|
||||
|
||||
impl Test9 {
|
||||
fn test9(&self) -> _ { () }
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
|
||||
fn test10(&self, _x : _) { }
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
}
|
||||
|
||||
impl Clone for Test9 {
|
||||
fn clone(&self) -> _ { Test9 }
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
|
||||
fn clone_from(&mut self, other: _) { *self = Test9; }
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
}
|
||||
|
||||
struct Test10 {
|
||||
a: _,
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
b: (_, _),
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~^^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
}
|
||||
|
||||
pub fn main() {
|
||||
fn fn_test() -> _ { 5 }
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
|
||||
fn fn_test2() -> (_, _) { (5, 5) }
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~^^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
|
||||
static FN_TEST3: _ = "test";
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
|
||||
static FN_TEST4: _ = 145;
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
|
||||
static FN_TEST5: (_, _) = (1, 2);
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~^^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
|
||||
fn fn_test6(_: _) { }
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
|
||||
fn fn_test7(x: _) { let _x: usize = x; }
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
|
||||
fn fn_test8(_f: fn() -> _) { }
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
|
||||
struct FnTest9;
|
||||
|
||||
impl FnTest9 {
|
||||
fn fn_test9(&self) -> _ { () }
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
|
||||
fn fn_test10(&self, _x : _) { }
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
}
|
||||
|
||||
impl Clone for FnTest9 {
|
||||
fn clone(&self) -> _ { FnTest9 }
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
|
||||
fn clone_from(&mut self, other: _) { *self = FnTest9; }
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
}
|
||||
|
||||
struct FnTest10 {
|
||||
a: _,
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
b: (_, _),
|
||||
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~^^ ERROR the type placeholder `_` is not allowed within types on item signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
//~| NOTE not allowed in type signatures
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user