
#16115: Missing associated type instance not reported with error -------------------------------------+------------------------------------- Reporter: dfeuer | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.10.1 Component: Compiler (Type | Version: 8.6.3 checker) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Poor/confusing | Unknown/Multiple error message | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by dfeuer): I think there's a much more conservative option that would be much better. When we come down to wanting `Item Nat ~ ()`, the type checker ''knows'' that `Item Nat` is a stuck type, and it ''knows'' that `()` is not the same stuck type. So the problem can immediately be narrowed down to {{{ Could not match expected type `Item Nat' with actual type `()'. The type family application `Item Nat' is stuck. [etc.] }}} We presumably ''also'' know that `Item` is an associated type of `FromList`, so we should be able to do a bit better, incorporating the information from the suppressed warning: {{{ Could not match expected type `Item Nat' with actual type `()'. No explicit associated type or default declaration for ‘Item’ in the instance declaration for ‘FromList Nat’ [etc.] }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16115#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler