Use Option::map instead of open-coding it
This commit is contained in:
parent
efdb859dcd
commit
76003f31f1
3 changed files with 17 additions and 25 deletions
|
@ -254,8 +254,6 @@ pub fn handle_native_features(sess: &Session) -> Vec<String> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn tune_cpu(sess: &Session) -> Option<&str> {
|
pub fn tune_cpu(sess: &Session) -> Option<&str> {
|
||||||
match sess.opts.debugging_opts.tune_cpu {
|
let name = sess.opts.debugging_opts.tune_cpu.as_ref()?;
|
||||||
Some(ref s) => Some(handle_native(&**s)),
|
Some(handle_native(name))
|
||||||
None => None,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,10 +39,8 @@ impl<'a, 'tcx> TypeChecker<'a, 'tcx> {
|
||||||
user_provided_sig = None;
|
user_provided_sig = None;
|
||||||
} else {
|
} else {
|
||||||
let typeck_results = self.tcx().typeck(mir_def_id);
|
let typeck_results = self.tcx().typeck(mir_def_id);
|
||||||
user_provided_sig = match typeck_results.user_provided_sigs.get(&mir_def_id.to_def_id())
|
user_provided_sig = typeck_results.user_provided_sigs.get(&mir_def_id.to_def_id()).map(
|
||||||
{
|
|user_provided_poly_sig| {
|
||||||
None => None,
|
|
||||||
Some(user_provided_poly_sig) => {
|
|
||||||
// Instantiate the canonicalized variables from
|
// Instantiate the canonicalized variables from
|
||||||
// user-provided signature (e.g., the `_` in the code
|
// user-provided signature (e.g., the `_` in the code
|
||||||
// above) with fresh variables.
|
// above) with fresh variables.
|
||||||
|
@ -54,18 +52,16 @@ impl<'a, 'tcx> TypeChecker<'a, 'tcx> {
|
||||||
// Replace the bound items in the fn sig with fresh
|
// Replace the bound items in the fn sig with fresh
|
||||||
// variables, so that they represent the view from
|
// variables, so that they represent the view from
|
||||||
// "inside" the closure.
|
// "inside" the closure.
|
||||||
Some(
|
self.infcx
|
||||||
self.infcx
|
.replace_bound_vars_with_fresh_vars(
|
||||||
.replace_bound_vars_with_fresh_vars(
|
body.span,
|
||||||
body.span,
|
LateBoundRegionConversionTime::FnCall,
|
||||||
LateBoundRegionConversionTime::FnCall,
|
poly_sig,
|
||||||
poly_sig,
|
)
|
||||||
)
|
.0
|
||||||
.0,
|
},
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
debug!(
|
debug!(
|
||||||
"equate_inputs_and_outputs: normalized_input_tys = {:?}, local_decls = {:?}",
|
"equate_inputs_and_outputs: normalized_input_tys = {:?}, local_decls = {:?}",
|
||||||
|
|
|
@ -365,12 +365,10 @@ fn check_region_bounds_on_impl_item<'tcx>(
|
||||||
let item_kind = assoc_item_kind_str(impl_m);
|
let item_kind = assoc_item_kind_str(impl_m);
|
||||||
let def_span = tcx.sess.source_map().guess_head_span(span);
|
let def_span = tcx.sess.source_map().guess_head_span(span);
|
||||||
let span = tcx.hir().get_generics(impl_m.def_id).map_or(def_span, |g| g.span);
|
let span = tcx.hir().get_generics(impl_m.def_id).map_or(def_span, |g| g.span);
|
||||||
let generics_span = if let Some(sp) = tcx.hir().span_if_local(trait_m.def_id) {
|
let generics_span = tcx.hir().span_if_local(trait_m.def_id).map(|sp| {
|
||||||
let def_sp = tcx.sess.source_map().guess_head_span(sp);
|
let def_sp = tcx.sess.source_map().guess_head_span(sp);
|
||||||
Some(tcx.hir().get_generics(trait_m.def_id).map_or(def_sp, |g| g.span))
|
tcx.hir().get_generics(trait_m.def_id).map_or(def_sp, |g| g.span)
|
||||||
} else {
|
});
|
||||||
None
|
|
||||||
};
|
|
||||||
|
|
||||||
tcx.sess.emit_err(LifetimesOrBoundsMismatchOnTrait {
|
tcx.sess.emit_err(LifetimesOrBoundsMismatchOnTrait {
|
||||||
span,
|
span,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue