Skip to content

Commit dbd077a

Browse files
committed
Add error to "stack new" for wired-in-packages #3172
1 parent 6793421 commit dbd077a

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

src/Stack/New.hs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@ new
8484
:: (StackM env m, HasConfig env)
8585
=> NewOpts -> Bool -> m (Path Abs Dir)
8686
new opts forceOverwrite = do
87+
when (newOptsProjectName opts `elem` wiredInPackages) $
88+
throwM $ Can'tUseWiredInName (newOptsProjectName opts)
8789
pwd <- getCurrentDir
8890
absDir <- if bare then return pwd
8991
else do relDir <- parseRelDir (packageNameString project)
@@ -378,6 +380,7 @@ data NewException
378380
| FailedToDownloadTemplateInfo !HttpException
379381
| BadTemplateInfo !String
380382
| BadTemplateInfoResponse !Int
383+
| Can'tUseWiredInName !PackageName
381384
deriving (Typeable)
382385

383386
instance Exception NewException
@@ -440,3 +443,5 @@ instance Show NewException where
440443
"Template info couldn't be parsed: " <> err
441444
show (BadTemplateInfoResponse code) =
442445
"Unexpected status code while retrieving templates info: " <> show code
446+
show (Can'tUseWiredInName name) =
447+
"The name \"" <> packageNameString name <> "\" is used by GHC wired-in packages, and so shouldn't be used as a package name"

0 commit comments

Comments
 (0)