git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Allow duplicate imports
commit2c8ea3799655a211e9fd9587f2208942b1ccdc92 authorGary Burgess <gary.burgess@gmail.com> dateMon 17 Aug 2015, 14:34 (11 years ago) parent0cbb789
2 files changed+9−6
src/Language/PureScript/Errors.hs+1−1 src/Language/PureScript/Sugar/Names.hs+8−5
src/Language/PureScript/Errors.hs+1−1
@@ -454,7 +454,7 @@ prettyPrintSingleError full level e = prettyPrintErrorMessage <$> onTypesInError
454454 goSimple (ConflictingImport nm mn) =
455455 line $ "Cannot declare " ++ show nm ++ " since another declaration of that name was imported from " ++ show mn
456456 goSimple (ConflictingImports nm m1 m2) =
457− line $ "Conflicting imports for " ++ show nm ++ " from modules " ++ show m1 ++ " and " ++ show m2
457+ line $ "Conflicting imports for " ++ nm ++ " from modules " ++ show m1 ++ " and " ++ show m2
458458 goSimple (ConflictingTypeDecls nm) =
459459 line $ "Conflicting type declarations for " ++ show nm
460460 goSimple (ConflictingCtorDecls nm) =
src/Language/PureScript/Sugar/Names.hs+8−5
@@ -589,11 +589,14 @@ resolveImport currentModule importModule exps imps impQual =
589589 updateImports m name = case M.lookup (Qualified impQual name) m of
590590 Nothing -> return $ M.insert (Qualified impQual name) (Qualified (Just importModule) name) m
591591 Just (Qualified Nothing _) -> error "Invalid state in updateImports"
592− Just (Qualified (Just mn) _) -> throwError . errorMessage $ err
593− where
594− err = if currentModule `elem` [mn, importModule]
595− then ConflictingImport (show name) importModule
596− else ConflictingImports (show name) mn importModule
592+ Just (Qualified (Just mn) _)
593+ | mn == importModule -> return m
594+ | otherwise -> throwError . errorMessage $ err
595+ where
596+ err = if currentModule `elem` [mn, importModule]
597+ then ConflictingImport (show name) importModule
598+ else ConflictingImports (show name) mn importModule
599+
597600
598601 -- The available values, types, and classes in the module being imported
599602 values = exportedValues exps