Rollup merge of #52773 - ljedrz:unncecessary_patterns, r=nikomatsakis
Avoid unnecessary pattern matching against Option and Result
This commit is contained in:
commit
c6f55bca7f
@ -681,10 +681,7 @@ impl<'a, 'tcx> AutoTraitFinder<'a, 'tcx> {
|
||||
}
|
||||
}
|
||||
&ty::Predicate::RegionOutlives(ref binder) => {
|
||||
if let Err(_) = select
|
||||
.infcx()
|
||||
.region_outlives_predicate(&dummy_cause, binder)
|
||||
{
|
||||
if select.infcx().region_outlives_predicate(&dummy_cause, binder).is_err() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -143,7 +143,7 @@ impl<'a, 'gcx, 'tcx> InferCtxt<'a, 'gcx, 'tcx> {
|
||||
// Eventually I'll need to implement param-env-aware
|
||||
// `Γ₁ ⊦ φ₁ => Γ₂ ⊦ φ₂` logic.
|
||||
let param_env = ty::ParamEnv::empty();
|
||||
if let Ok(_) = self.can_sub(param_env, error, implication) {
|
||||
if self.can_sub(param_env, error, implication).is_ok() {
|
||||
debug!("error_implies: {:?} -> {:?} -> {:?}", cond, error, implication);
|
||||
return true
|
||||
}
|
||||
|
@ -137,7 +137,7 @@ impl<'cx, 'gcx, 'tcx> InferCtxt<'cx, 'gcx, 'tcx> {
|
||||
// variables. Process these constraints.
|
||||
let mut fulfill_cx = FulfillmentContext::new();
|
||||
fulfill_cx.register_predicate_obligations(self, result.obligations);
|
||||
if let Err(_) = fulfill_cx.select_all_or_error(self) {
|
||||
if fulfill_cx.select_all_or_error(self).is_err() {
|
||||
self.tcx.sess.delay_span_bug(
|
||||
span,
|
||||
"implied_outlives_bounds failed to solve obligations from instantiation"
|
||||
|
@ -1587,8 +1587,8 @@ impl<'cx, 'gcx, 'tcx> SelectionContext<'cx, 'gcx, 'tcx> {
|
||||
-> bool
|
||||
{
|
||||
assert!(!skol_trait_ref.has_escaping_regions());
|
||||
if let Err(_) = self.infcx.at(&obligation.cause, obligation.param_env)
|
||||
.sup(ty::Binder::dummy(skol_trait_ref), trait_bound) {
|
||||
if self.infcx.at(&obligation.cause, obligation.param_env)
|
||||
.sup(ty::Binder::dummy(skol_trait_ref), trait_bound).is_err() {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -294,7 +294,7 @@ fn resolve_associated_item<'a, 'tcx>(
|
||||
})
|
||||
}
|
||||
traits::VtableBuiltin(..) => {
|
||||
if let Some(_) = tcx.lang_items().clone_trait() {
|
||||
if tcx.lang_items().clone_trait().is_some() {
|
||||
Some(Instance {
|
||||
def: ty::InstanceDef::CloneShim(def_id, trait_ref.self_ty()),
|
||||
substs: rcvr_substs
|
||||
|
@ -1295,7 +1295,7 @@ impl EmitterWriter {
|
||||
}
|
||||
|
||||
// if we elided some lines, add an ellipsis
|
||||
if let Some(_) = lines.next() {
|
||||
if lines.next().is_some() {
|
||||
buffer.puts(row_num, max_line_num_len - 1, "...", Style::LineNumber);
|
||||
} else if !show_underline {
|
||||
draw_col_separator_no_space(&mut buffer, row_num, max_line_num_len + 1);
|
||||
|
@ -138,7 +138,7 @@ impl<'cx, 'gcx, 'tcx> MirBorrowckCtxt<'cx, 'gcx, 'tcx> {
|
||||
let tables = self.tcx.typeck_tables_of(id);
|
||||
let node_id = self.tcx.hir.as_local_node_id(id).unwrap();
|
||||
let hir_id = self.tcx.hir.node_to_hir_id(node_id);
|
||||
if let Some(_) = tables.closure_kind_origins().get(hir_id) {
|
||||
if tables.closure_kind_origins().get(hir_id).is_some() {
|
||||
false
|
||||
} else {
|
||||
true
|
||||
@ -735,7 +735,7 @@ impl<'cx, 'gcx, 'tcx> MirBorrowckCtxt<'cx, 'gcx, 'tcx> {
|
||||
&including_downcast,
|
||||
)?;
|
||||
buf.push_str("[");
|
||||
if let Err(_) = self.append_local_to_string(index, buf) {
|
||||
if self.append_local_to_string(index, buf).is_err() {
|
||||
buf.push_str("..");
|
||||
}
|
||||
buf.push_str("]");
|
||||
|
@ -2698,7 +2698,7 @@ impl<'a, 'crateloader: 'a> Resolver<'a, 'crateloader> {
|
||||
self.label_ribs.pop();
|
||||
}
|
||||
self.ribs[ValueNS].pop();
|
||||
if let Some(_) = anonymous_module {
|
||||
if anonymous_module.is_some() {
|
||||
self.ribs[TypeNS].pop();
|
||||
}
|
||||
debug!("(resolving block) leaving block");
|
||||
@ -4256,7 +4256,7 @@ impl<'a, 'crateloader: 'a> Resolver<'a, 'crateloader> {
|
||||
|
||||
while let Some((in_module, path_segments)) = worklist.pop() {
|
||||
// abort if the module is already found
|
||||
if let Some(_) = result { break; }
|
||||
if result.is_some() { break; }
|
||||
|
||||
self.populate_module_if_necessary(in_module);
|
||||
|
||||
|
@ -39,7 +39,7 @@ pub struct WriteOutput<'b, W: Write + 'b> {
|
||||
|
||||
impl<'b, W: Write> DumpOutput for WriteOutput<'b, W> {
|
||||
fn dump(&mut self, result: &Analysis) {
|
||||
if let Err(_) = write!(self.output, "{}", as_json(&result)) {
|
||||
if write!(self.output, "{}", as_json(&result)).is_err() {
|
||||
error!("Error writing output");
|
||||
}
|
||||
}
|
||||
|
@ -758,8 +758,9 @@ impl<'a, 'gcx, 'tcx> ProbeContext<'a, 'gcx, 'tcx> {
|
||||
self.span, infer::FnCall, &fty);
|
||||
|
||||
if let Some(self_ty) = self_ty {
|
||||
if let Err(_) = self.at(&ObligationCause::dummy(), self.param_env)
|
||||
.sup(fty.inputs()[0], self_ty)
|
||||
if self.at(&ObligationCause::dummy(), self.param_env)
|
||||
.sup(fty.inputs()[0], self_ty)
|
||||
.is_err()
|
||||
{
|
||||
return false
|
||||
}
|
||||
|
@ -3915,7 +3915,7 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
|
||||
|
||||
}
|
||||
hir::ExprKind::Continue(destination) => {
|
||||
if let Ok(_) = destination.target_id {
|
||||
if destination.target_id.is_ok() {
|
||||
tcx.types.never
|
||||
} else {
|
||||
// There was an error, make typecheck fail
|
||||
|
@ -486,7 +486,7 @@ pub fn run_core(search_paths: SearchPaths,
|
||||
&name,
|
||||
&output_filenames,
|
||||
|tcx, analysis, _, result| {
|
||||
if let Err(_) = result {
|
||||
if result.is_err() {
|
||||
sess.fatal("Compilation failed, aborting rustdoc");
|
||||
}
|
||||
|
||||
|
@ -44,7 +44,7 @@ pub fn render_with_highlighting(src: &str, class: Option<&str>,
|
||||
write_header(class, &mut out).unwrap();
|
||||
|
||||
let mut classifier = Classifier::new(lexer::StringReader::new(&sess, fm, None), sess.codemap());
|
||||
if let Err(_) = classifier.write_source(&mut out) {
|
||||
if classifier.write_source(&mut out).is_err() {
|
||||
return format!("<pre>{}</pre>", src);
|
||||
}
|
||||
|
||||
|
@ -625,7 +625,7 @@ impl LangString {
|
||||
data.no_run = true;
|
||||
}
|
||||
x if allow_error_code_check && x.starts_with("E") && x.len() == 5 => {
|
||||
if let Ok(_) = x[1..].parse::<u32>() {
|
||||
if x[1..].parse::<u32>().is_ok() {
|
||||
data.error_codes.push(x.to_owned());
|
||||
seen_rust_tags = !seen_other_tags || seen_rust_tags;
|
||||
} else {
|
||||
|
@ -631,7 +631,7 @@ fn path_name_i(idents: &[Ident]) -> String {
|
||||
let mut idents_iter = idents.iter().peekable();
|
||||
while let Some(ident) = idents_iter.next() {
|
||||
path_name.push_str(&ident.as_str());
|
||||
if let Some(_) = idents_iter.peek() {
|
||||
if idents_iter.peek().is_some() {
|
||||
path_name.push_str("::")
|
||||
}
|
||||
}
|
||||
|
@ -81,7 +81,7 @@ pub fn expand_env<'cx>(cx: &'cx mut ExtCtxt,
|
||||
}
|
||||
};
|
||||
|
||||
if let Some(_) = exprs.next() {
|
||||
if exprs.next().is_some() {
|
||||
cx.span_err(sp, "env! takes 1 or 2 arguments");
|
||||
return DummyResult::expr(sp);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user