@@ -888,7 +888,7 @@ check' v@(Var var) ty = do
888 Nothing -> throwError . strMsg $ "Unable to check type subsumption"
888 Nothing -> throwError . strMsg $ "Unable to check type subsumption"
889 Just v'' -> return $ TypedValue True v'' ty'
889 Just v'' -> return $ TypedValue True v'' ty'
890check' (SuperClassDictionary className tys) _ = do
890check' (SuperClassDictionary className tys) _ = do
892 -- Here, we replace a placeholder for a superclass dictionary with a regular
892 -- Here, we replace a placeholder for a superclass dictionary with a regular
893 -- TypeClassDictionary placeholder. The reason we do this is that it is necessary to have the
893 -- TypeClassDictionary placeholder. The reason we do this is that it is necessary to have the
894 -- correct super instance dictionaries in scope, and these are not available when the type class
894 -- correct super instance dictionaries in scope, and these are not available when the type class
@@ -897,7 +897,7 @@ check' (SuperClassDictionary className tys) _ = do
897 -- Note also that the first argument to TypeClassDictionary is False, meaning we _do not_ want
897 -- Note also that the first argument to TypeClassDictionary is False, meaning we _do not_ want
898 -- to consider superclass instances when searching for this dictionary - doing so might lead
898 -- to consider superclass instances when searching for this dictionary - doing so might lead
899 -- to traversing a cycle in the instance graph.
899 -- to traversing a cycle in the instance graph.
901 dicts <- getTypeClassDictionaries
901 dicts <- getTypeClassDictionaries
902 return $ TypeClassDictionary False (className, tys) dicts
902 return $ TypeClassDictionary False (className, tys) dicts
903check' (TypedValue checkType val ty1) ty2 = do
903check' (TypedValue checkType val ty1) ty2 = do