Skip to content

Commit

Permalink
Avoid unnecessary pattern matching against Option and Result
Browse files Browse the repository at this point in the history
  • Loading branch information
ljedrz committed Aug 7, 2018
1 parent 11a9024 commit 44d32d4
Show file tree
Hide file tree
Showing 16 changed files with 21 additions and 23 deletions.
5 changes: 1 addition & 4 deletions src/librustc/traits/auto_trait.rs
Expand Up @@ -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;
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/librustc/traits/error_reporting.rs
Expand Up @@ -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
}
Expand Down
2 changes: 1 addition & 1 deletion src/librustc/traits/query/outlives_bounds.rs
Expand Up @@ -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"
Expand Down
4 changes: 2 additions & 2 deletions src/librustc/traits/select.rs
Expand Up @@ -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;
}

Expand Down
2 changes: 1 addition & 1 deletion src/librustc/ty/instance.rs
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion src/librustc_errors/emitter.rs
Expand Up @@ -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);
Expand Down
4 changes: 2 additions & 2 deletions src/librustc_mir/borrow_check/error_reporting.rs
Expand Up @@ -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
Expand Down Expand Up @@ -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("]");
Expand Down
4 changes: 2 additions & 2 deletions src/librustc_resolve/lib.rs
Expand Up @@ -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");
Expand Down Expand Up @@ -4254,7 +4254,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);

Expand Down
2 changes: 1 addition & 1 deletion src/librustc_save_analysis/json_dumper.rs
Expand Up @@ -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");
}
}
Expand Down
5 changes: 3 additions & 2 deletions src/librustc_typeck/check/method/probe.rs
Expand Up @@ -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
}
Expand Down
2 changes: 1 addition & 1 deletion src/librustc_typeck/check/mod.rs
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion src/librustdoc/core.rs
Expand Up @@ -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");
}

Expand Down
2 changes: 1 addition & 1 deletion src/librustdoc/html/highlight.rs
Expand Up @@ -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);
}

Expand Down
2 changes: 1 addition & 1 deletion src/librustdoc/html/markdown.rs
Expand Up @@ -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 {
Expand Down
2 changes: 1 addition & 1 deletion src/libsyntax/test.rs
Expand Up @@ -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("::")
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/libsyntax_ext/env.rs
Expand Up @@ -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);
}
Expand Down

0 comments on commit 44d32d4

Please sign in to comment.