Auto merge of #25523 - nham:remove_E0068, r=alexcrichton
A built-in feature enabling the dereferencing of newtype structs was removed in PR https://github.com/rust-lang/rust/pull/11188, and this error (E0068) was added at the same time to warn of its removal. It seems to make sense to remove the error now, given that the obsolete feature it is warning about was removed nearly a year and a half ago.
This commit is contained in:
commit
e4d56b7b5b
1 changed files with 4 additions and 20 deletions
|
|
@ -3153,26 +3153,10 @@ fn check_expr_with_unifier<'a, 'tcx, F>(fcx: &FnCtxt<'a, 'tcx>,
|
|||
Some(&**oprnd), oprnd_t, lvalue_pref) {
|
||||
Some(mt) => mt.ty,
|
||||
None => {
|
||||
let is_newtype = match oprnd_t.sty {
|
||||
ty::ty_struct(did, substs) => {
|
||||
let fields = ty::struct_fields(fcx.tcx(), did, substs);
|
||||
fields.len() == 1
|
||||
&& fields[0].name ==
|
||||
token::special_idents::unnamed_field.name
|
||||
}
|
||||
_ => false
|
||||
};
|
||||
if is_newtype {
|
||||
// This is an obsolete struct deref
|
||||
span_err!(tcx.sess, expr.span, E0068,
|
||||
"single-field tuple-structs can \
|
||||
no longer be dereferenced");
|
||||
} else {
|
||||
fcx.type_error_message(expr.span, |actual| {
|
||||
format!("type `{}` cannot be \
|
||||
dereferenced", actual)
|
||||
}, oprnd_t, None);
|
||||
}
|
||||
fcx.type_error_message(expr.span, |actual| {
|
||||
format!("type `{}` cannot be \
|
||||
dereferenced", actual)
|
||||
}, oprnd_t, None);
|
||||
tcx.types.err
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue