@@ -101,6 +101,7 @@ data Err = Msg String
101101 | At FC Err
102102 | Elaborating String Name Err
103103 | ProviderError String
104+ | LoadingFailed String Err
104105 deriving Eq
105106
106107instance Sized Err where
@@ -122,6 +123,7 @@ instance Sized Err where
122123 size (At fc err) = size fc + size err
123124 size (Elaborating _ n err) = size err
124125 size (ProviderError msg) = length msg
126+ size (LoadingFailed fn e) = 1 + length fn + size e
125127 size _ = 1
126128
127129score :: Err -> Int
@@ -139,6 +141,7 @@ instance Show Err where
139141 ++ show e ++ " in " ++ show sc ++ " " ++ show i
140142 show (Inaccessible n) = show n ++ " is not an accessible pattern variable"
141143 show (ProviderError msg) = "Type provider error: " ++ msg
144+ show (LoadingFailed fn e) = "Loading " ++ fn ++ " failed: " ++ show e
142145 show _ = "Error"
143146
144147instance Pretty Err where
@@ -152,6 +155,7 @@ instance Pretty Err where
152155 text "Cannot unify" <+> colon <+> pretty l <+> text "and" <+> pretty r $$
153156 nest nestingSize (text "where" <+> pretty e <+> text "with" <+> (text . show $ i))
154157 pretty (ProviderError msg) = text msg
158+ pretty err@(LoadingFailed _ _) = text (show err)
155159 pretty _ = text "Error"
156160
157161instance Error Err where