import NameEnv
import OccName ( OccName, mkVarOccFS, mkTyVarOcc )
import FastString ( FastString )
import NameEnv
import OccName ( OccName, mkVarOccFS, mkTyVarOcc )
import FastString ( FastString )
-- And that's fine, because if M's ModInfo is in the HPT, then
-- it's been compiled once, and we don't need to check the boot iface
then do { hpt <- getHpt
-- And that's fine, because if M's ModInfo is in the HPT, then
-- it's been compiled once, and we don't need to check the boot iface
then do { hpt <- getHpt
Just info | mi_boot (hm_iface info)
-> return (hm_details info)
other -> return emptyModDetails }
Just info | mi_boot (hm_iface info)
-> return (hm_details info)
other -> return emptyModDetails }
Nothing -> return emptyModDetails ; -- The typical case
Just (_, False) -> failWithTc moduleLoop ;
-- Someone below us imported us!
-- This is a loop with no hi-boot in the way
Nothing -> return emptyModDetails ; -- The typical case
Just (_, False) -> failWithTc moduleLoop ;
-- Someone below us imported us!
-- This is a loop with no hi-boot in the way
-- and its RULES are loaded too
| otherwise
= do { (eps,hpt) <- getEpsAndHpt
-- and its RULES are loaded too
| otherwise
= do { (eps,hpt) <- getEpsAndHpt