@@ -271,30 +271,29 @@ atPoint IdeOptions{} (HAR _ (hf :: HieASTs a) _rf _ kind) (DKMap dm km) pos = li
271271 renderEvidenceTree (T. Node (EvidenceInfo {evidenceDetails= Just (EvLetBind _,_,_)}) [x])
272272 = renderEvidenceTree x
273273 renderEvidenceTree (T. Node (EvidenceInfo {evidenceDetails= Just (EvLetBind _,_,_), .. }) xs)
274- = hang (text " - Evidence of constraint `" O. <> expandType evidenceType O. <> " `" ) 2 $
275- vcat $ text " depending on:" : map renderEvidenceTree' xs
276- renderEvidenceTree x = renderEvidenceTree' x
274+ = hang (text " Evidence of constraint `" O. <> expandType evidenceType O. <> " `" ) 2 $
275+ vcat $ text " constructed using:" : map renderEvidenceTree' xs
276+ renderEvidenceTree (T. Node (EvidenceInfo {.. }) _)
277+ = hang (text " Evidence of constraint `" O. <> expandType evidenceType O. <> " `" ) 2 $
278+ vcat $ printDets evidenceSpan evidenceDetails : map (text . T. unpack) (definedAt evidenceVar)
277279
278280 -- renderEvidenceTree' skips let bound evidence variables and prints the children directly
279281 renderEvidenceTree' (T. Node (EvidenceInfo {evidenceDetails= Just (EvLetBind _,_,_)}) xs)
280282 = vcat (map renderEvidenceTree' xs)
281- renderEvidenceTree' (T. Node (EvidenceInfo {.. }) xs)
282- = hang (text " - Evidence of constraint `" O. <> expandType evidenceType O. <> " `" ) 2 $
283- vcat $ map (text . T. unpack) (definedAt evidenceVar)
284- ++ [printDets evidenceSpan evidenceDetails (null xs)]
285- ++ map renderEvidenceTree' xs
286-
287- printDets :: RealSrcSpan -> Maybe (EvVarSource , Scope , Maybe Span ) -> Bool -> SDoc
288- printDets _ Nothing True = text " "
289- printDets _ Nothing False = text " constructed using:"
290- printDets ospn (Just (src,_,mspn)) _ = pprSrc
283+ renderEvidenceTree' (T. Node (EvidenceInfo {.. }) _)
284+ = hang (text " - `" O. <> expandType evidenceType O. <> " `" ) 2 $
285+ vcat $ printDets evidenceSpan evidenceDetails : map (text . T. unpack) (definedAt evidenceVar)
286+
287+ printDets :: RealSrcSpan -> Maybe (EvVarSource , Scope , Maybe Span ) -> SDoc
288+ printDets _ Nothing = text " using an external instance"
289+ printDets ospn (Just (src,_,mspn)) = pprSrc
291290 $$ text " at" <+> ppr spn
292291 where
293292 -- Use the bind span if we have one, else use the occurence span
294293 spn = fromMaybe ospn mspn
295294 pprSrc = case src of
296295 -- Users don't know what HsWrappers are
297- EvWrapperBind -> " bound by type signature or pattern "
296+ EvWrapperBind -> " bound by a context "
298297 _ -> ppr src
299298#endif
300299
0 commit comments