File tree Expand file tree Collapse file tree 1 file changed +6
-2
lines changed
compiler/rustc_next_trait_solver/src/solve Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -3,13 +3,17 @@ use rustc_type_ir::inherent::Predicate;
33use rustc_type_ir:: search_graph:: { self , CycleKind , UsageKind } ;
44use rustc_type_ir:: solve:: { CanonicalInput , Certainty , QueryResult } ;
55use rustc_type_ir:: Interner ;
6+ use std:: marker:: PhantomData ;
67
78use super :: inspect;
89use super :: { inspect:: ProofTreeBuilder , FIXPOINT_STEP_LIMIT } ;
910
11+ /// This type is never constructed. We only use it to implement `search_graph::Delegate`
12+ /// for all types which impl `SolverDelegate` and doing it directly fails in coherence.
13+ pub ( super ) struct SearchGraphDelegate < D : SolverDelegate > {
14+ _marker : PhantomData < D > ,
15+ }
1016pub ( super ) type SearchGraph < D > = search_graph:: SearchGraph < SearchGraphDelegate < D > > ;
11-
12- pub ( super ) struct SearchGraphDelegate < D : SolverDelegate > ( D ) ;
1317impl < D , I > search_graph:: Delegate for SearchGraphDelegate < D >
1418where
1519 D : SolverDelegate < Interner = I > ,
You can’t perform that action at this time.
0 commit comments