Make TraitEngines generic over error
This commit is contained in:
@@ -9,10 +9,10 @@ use crate::traits::error_reporting::OverflowCause;
|
||||
use crate::traits::error_reporting::TypeErrCtxtExt;
|
||||
use crate::traits::normalize::needs_normalization;
|
||||
use crate::traits::{BoundVarReplacer, PlaceholderReplacer};
|
||||
use crate::traits::{FulfillmentError, Normalized};
|
||||
use crate::traits::{ObligationCause, PredicateObligation, Reveal};
|
||||
use rustc_data_structures::sso::SsoHashMap;
|
||||
use rustc_data_structures::stack::ensure_sufficient_stack;
|
||||
use rustc_infer::traits::Normalized;
|
||||
use rustc_macros::extension;
|
||||
use rustc_middle::ty::fold::{FallibleTypeFolder, TypeFoldable, TypeSuperFoldable};
|
||||
use rustc_middle::ty::visit::{TypeSuperVisitable, TypeVisitable, TypeVisitableExt};
|
||||
@@ -76,7 +76,10 @@ impl<'cx, 'tcx> At<'cx, 'tcx> {
|
||||
};
|
||||
|
||||
if self.infcx.next_trait_solver() {
|
||||
match crate::solve::deeply_normalize_with_skipped_universes(self, value, universes) {
|
||||
// TODO:
|
||||
match crate::solve::deeply_normalize_with_skipped_universes::<_, FulfillmentError<'tcx>>(
|
||||
self, value, universes,
|
||||
) {
|
||||
Ok(value) => return Ok(Normalized { value, obligations: vec![] }),
|
||||
Err(_errors) => {
|
||||
return Err(NoSolution);
|
||||
|
||||
Reference in New Issue
Block a user