Don't require intercrate mode for negative coherence
This commit is contained in:
parent
19a5e1dfc6
commit
253f5023c3
7 changed files with 19 additions and 41 deletions
|
@ -65,8 +65,15 @@ impl<'tcx> InferCtxt<'tcx> {
|
|||
|
||||
/// Forks the inference context, creating a new inference context with the same inference
|
||||
/// variables in the same state. This can be used to "branch off" many tests from the same
|
||||
/// common state. Used in coherence.
|
||||
/// common state.
|
||||
pub fn fork(&self) -> Self {
|
||||
self.fork_with_intercrate(self.intercrate)
|
||||
}
|
||||
|
||||
/// Forks the inference context, creating a new inference context with the same inference
|
||||
/// variables in the same state, except possibly changing the intercrate mode. This can be
|
||||
/// used to "branch off" many tests from the same common state. Used in negative coherence.
|
||||
pub fn fork_with_intercrate(&self, intercrate: bool) -> Self {
|
||||
Self {
|
||||
tcx: self.tcx,
|
||||
defining_use_anchor: self.defining_use_anchor,
|
||||
|
@ -81,7 +88,7 @@ impl<'tcx> InferCtxt<'tcx> {
|
|||
tainted_by_errors: self.tainted_by_errors.clone(),
|
||||
err_count_on_creation: self.err_count_on_creation,
|
||||
universe: self.universe.clone(),
|
||||
intercrate: self.intercrate,
|
||||
intercrate,
|
||||
next_trait_solver: self.next_trait_solver,
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue