"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/librustc_typeck/check/mod.rs" between
rustc-1.45.0-src.tar.xz and rustc-1.45.2-src.tar.xz

About: Rust is a systems programming language that runs "blazingly fast, prevents nearly all segfaults, and guarantees thread safety" (developed by Mozilla).

mod.rs  (rustc-1.45.0-src.tar.xz):mod.rs  (rustc-1.45.2-src.tar.xz)
skipping to change at line 258 skipping to change at line 258
// 'de-opaque' OpaqueTypeDecl, after typeck is done with all functions. // 'de-opaque' OpaqueTypeDecl, after typeck is done with all functions.
opaque_types: RefCell<DefIdMap<OpaqueTypeDecl<'tcx>>>, opaque_types: RefCell<DefIdMap<OpaqueTypeDecl<'tcx>>>,
/// A map from inference variables created from opaque /// A map from inference variables created from opaque
/// type instantiations (`ty::Infer`) to the actual opaque /// type instantiations (`ty::Infer`) to the actual opaque
/// type (`ty::Opaque`). Used during fallback to map unconstrained /// type (`ty::Opaque`). Used during fallback to map unconstrained
/// opaque type inference variables to their corresponding /// opaque type inference variables to their corresponding
/// opaque type. /// opaque type.
opaque_types_vars: RefCell<FxHashMap<Ty<'tcx>, Ty<'tcx>>>, opaque_types_vars: RefCell<FxHashMap<Ty<'tcx>, Ty<'tcx>>>,
/// Each type parameter has an implicit region bound that
/// indicates it must outlive at least the function body (the user
/// may specify stronger requirements). This field indicates the
/// region of the callee. If it is `None`, then the parameter
/// environment is for an item or something where the "callee" is
/// not clear.
implicit_region_bound: Option<ty::Region<'tcx>>,
body_id: Option<hir::BodyId>, body_id: Option<hir::BodyId>,
} }
impl<'a, 'tcx> Deref for Inherited<'a, 'tcx> { impl<'a, 'tcx> Deref for Inherited<'a, 'tcx> {
type Target = InferCtxt<'a, 'tcx>; type Target = InferCtxt<'a, 'tcx>;
fn deref(&self) -> &Self::Target { fn deref(&self) -> &Self::Target {
&self.infcx &self.infcx
} }
} }
skipping to change at line 684 skipping to change at line 676
tables: MaybeInProgressTables { maybe_tables: infcx.in_progress_tabl es }, tables: MaybeInProgressTables { maybe_tables: infcx.in_progress_tabl es },
infcx, infcx,
fulfillment_cx: RefCell::new(TraitEngine::new(tcx)), fulfillment_cx: RefCell::new(TraitEngine::new(tcx)),
locals: RefCell::new(Default::default()), locals: RefCell::new(Default::default()),
deferred_sized_obligations: RefCell::new(Vec::new()), deferred_sized_obligations: RefCell::new(Vec::new()),
deferred_call_resolutions: RefCell::new(Default::default()), deferred_call_resolutions: RefCell::new(Default::default()),
deferred_cast_checks: RefCell::new(Vec::new()), deferred_cast_checks: RefCell::new(Vec::new()),
deferred_generator_interiors: RefCell::new(Vec::new()), deferred_generator_interiors: RefCell::new(Vec::new()),
opaque_types: RefCell::new(Default::default()), opaque_types: RefCell::new(Default::default()),
opaque_types_vars: RefCell::new(Default::default()), opaque_types_vars: RefCell::new(Default::default()),
implicit_region_bound: None,
body_id, body_id,
} }
} }
fn register_predicate(&self, obligation: traits::PredicateObligation<'tcx>) { fn register_predicate(&self, obligation: traits::PredicateObligation<'tcx>) {
debug!("register_predicate({:?})", obligation); debug!("register_predicate({:?})", obligation);
if obligation.has_escaping_bound_vars() { if obligation.has_escaping_bound_vars() {
span_bug!(obligation.cause.span, "escaping bound vars in predicate { :?}", obligation); span_bug!(obligation.cause.span, "escaping bound vars in predicate { :?}", obligation);
} }
self.fulfillment_cx.borrow_mut().register_predicate_obligation(self, obl igation); self.fulfillment_cx.borrow_mut().register_predicate_obligation(self, obl igation);
 End of changes. 2 change blocks. 
9 lines changed or deleted 0 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)