Resolving dependencies... Starting StateVar-1.2.2 Starting OneTuple-0.3.1 Starting bimap-0.5.0 Starting call-stack-0.4.0 Starting blaze-builder-0.4.2.2 Starting data-clist-0.2 Starting colour-2.3.6 Starting dlist-1.0 Starting generically-0.1 Starting indexed-traversable-0.1.2 Starting integer-logarithms-1.0.3.1 Starting microlens-0.4.13.0 Starting parallel-3.2.2.0 Starting reflection-2.1.6 Starting primitive-0.7.4.0 Starting semigroups-0.20 Starting tagged-0.8.6.1 Starting splitmix-0.1.0.4 Starting transformers-compat-0.7.2 Starting unix-compat-0.6 Starting vector-stream-0.1.0.0 Starting void-0.7.3 Starting word-wrap-0.5 Starting base-orphans-0.8.7 Starting parser-combinators-1.3.0 Starting th-abstraction-0.4.5.0 Starting hashable-1.4.1.0 Starting utf8-string-1.0.2 Starting base-compat-0.12.2 Building bimap-0.5.0 Building StateVar-1.2.2 Building OneTuple-0.3.1 Building colour-2.3.6 Building blaze-builder-0.4.2.2 Building call-stack-0.4.0 Building data-clist-0.2 Building utf8-string-1.0.2 Building microlens-0.4.13.0 Building dlist-1.0 Building primitive-0.7.4.0 Building parser-combinators-1.3.0 Building parallel-3.2.2.0 Building reflection-2.1.6 Building tagged-0.8.6.1 Building integer-logarithms-1.0.3.1 Building semigroups-0.20 Building indexed-traversable-0.1.2 Building th-abstraction-0.4.5.0 Building generically-0.1 Building splitmix-0.1.0.4 Building unix-compat-0.6 Building void-0.7.3 Building transformers-compat-0.7.2 Building hashable-1.4.1.0 Building vector-stream-0.1.0.0 Building base-orphans-0.8.7 Building word-wrap-0.5 Building base-compat-0.12.2 Completed void-0.7.3 Completed base-orphans-0.8.7 Completed semigroups-0.20 Completed call-stack-0.4.0 Completed integer-logarithms-1.0.3.1 Completed StateVar-1.2.2 Starting contravariant-1.5.5 Completed OneTuple-0.3.1 Completed data-clist-0.2 Completed generically-0.1 Building contravariant-1.5.5 Completed unix-compat-0.6 Completed parser-combinators-1.3.0 Completed word-wrap-0.5 Completed splitmix-0.1.0.4 Starting random-1.2.1.1 Completed microlens-0.4.13.0 Completed parallel-3.2.2.0 Building random-1.2.1.1 Completed utf8-string-1.0.2 Completed transformers-compat-0.7.2 Starting microlens-mtl-0.2.0.2 Starting transformers-base-0.4.6 Completed dlist-1.0 Completed bimap-0.5.0 Building microlens-mtl-0.2.0.2 Building transformers-base-0.4.6 Completed reflection-2.1.6 Completed vector-stream-0.1.0.0 Completed tagged-0.8.6.1 Starting distributive-0.6.2.1 Completed colour-2.3.6 Starting ansi-terminal-0.11.3 Completed indexed-traversable-0.1.2 Building distributive-0.6.2.1 Completed blaze-builder-0.4.2.2 Building ansi-terminal-0.11.3 Completed hashable-1.4.1.0 Starting unordered-containers-0.2.19.1 Starting text-short-0.1.5 Starting data-fix-0.3.2 Starting case-insensitive-1.2.1.0 Starting time-compat-1.9.6.1 Completed th-abstraction-0.4.5.0 Starting microlens-th-0.4.3.10 Building unordered-containers-0.2.19.1 Building text-short-0.1.5 Building data-fix-0.3.2 Building case-insensitive-1.2.1.0 Building time-compat-1.9.6.1 Building microlens-th-0.4.3.10 Completed base-compat-0.12.2 Starting base-compat-batteries-0.12.2 Completed contravariant-1.5.5 Building base-compat-batteries-0.12.2 Completed transformers-base-0.4.6 Completed microlens-mtl-0.2.0.2 Completed distributive-0.6.2.1 Starting comonad-5.0.8 Building comonad-5.0.8 Completed ansi-terminal-0.11.3 Completed primitive-0.7.4.0 Starting scientific-0.3.7.0 Starting vector-0.13.0.0 Completed case-insensitive-1.2.1.0 Completed data-fix-0.3.2 Building scientific-0.3.7.0 Building vector-0.13.0.0 Completed microlens-th-0.4.3.10 Completed time-compat-1.9.6.1 Completed text-short-0.1.5 Completed base-compat-batteries-0.12.2 Completed random-1.2.1.1 Starting temporary-1.3 Starting uuid-types-1.0.5 Starting QuickCheck-2.14.2 Building temporary-1.3 Building uuid-types-1.0.5 Building QuickCheck-2.14.2 Completed comonad-5.0.8 Starting bifunctors-5.5.13 Building bifunctors-5.5.13 Completed scientific-0.3.7.0 Starting megaparsec-9.2.2 Starting attoparsec-0.14.4 Building megaparsec-9.2.2 Building attoparsec-0.14.4 Completed unordered-containers-0.2.19.1 Completed temporary-1.3 Completed uuid-types-1.0.5 Completed bifunctors-5.5.13 Starting assoc-1.0.2 Starting profunctors-5.6.2 Starting semigroupoids-5.3.7 Building semigroupoids-5.3.7 Building assoc-1.0.2 Building profunctors-5.6.2 Completed megaparsec-9.2.2 Starting config-ini-0.2.5.0 Building config-ini-0.2.5.0 Completed attoparsec-0.14.4 Starting ini-0.4.2 Building ini-0.4.2 Completed QuickCheck-2.14.2 Completed assoc-1.0.2 Starting these-1.1.1.1 Building these-1.1.1.1 Completed ini-0.4.2 Completed config-ini-0.2.5.0 Completed profunctors-5.6.2 Starting invariant-0.6 Completed these-1.1.1.1 Starting strict-0.4.0.1 Building invariant-0.6 Building strict-0.4.0.1 Completed semigroupoids-5.3.7 Starting free-5.1.9 Completed vector-0.13.0.0 Starting text-zipper-0.12 Starting indexed-traversable-instances-0.1.1.1 Starting vty-5.37 Building free-5.1.9 Building text-zipper-0.12 Building indexed-traversable-instances-0.1.1.1 Building vty-5.37 Completed indexed-traversable-instances-0.1.1.1 Starting witherable-0.4.2 Starting semialign-1.2.0.1 Building witherable-0.4.2 Building semialign-1.2.0.1 Completed text-zipper-0.12 Completed strict-0.4.0.1 Completed invariant-0.6 Completed semialign-1.2.0.1 Completed witherable-0.4.2 Starting aeson-2.1.1.0 Building aeson-2.1.1.0 Completed free-5.1.9 Starting adjunctions-4.4.2 Building adjunctions-4.4.2 Completed adjunctions-4.4.2 Starting kan-extensions-5.2.5 Building kan-extensions-5.2.5 Completed vty-5.37 Starting brick-1.3 Building brick-1.3 Completed kan-extensions-5.2.5 Starting lens-5.2 Building lens-5.2 Completed aeson-2.1.1.0 Starting path-0.9.2 Building path-0.9.2 Completed path-0.9.2 Starting path-io-1.7.0 Building path-io-1.7.0 Completed brick-1.3 Starting brick-panes-1.0.0.1 Building brick-panes-1.0.0.1 Completed path-io-1.7.0 Completed brick-panes-1.0.0.1 Completed lens-5.2 Starting mywork-1.0.1.0 Building mywork-1.0.1.0 Failed to install mywork-1.0.1.0 Build log ( /home/builder/.cabal/logs/ghc-9.2.4/mywork-1.0.1.0-5MlNX88hcQ4LEfIQKb2dJv.log ): cabal: Entering directory '/tmp/cabal-tmp-3328896/mywork-1.0.1.0' Configuring mywork-1.0.1.0... Preprocessing library for mywork-1.0.1.0.. Building library for mywork-1.0.1.0.. [ 1 of 25] Compiling Defs.Lenses [ 2 of 25] Compiling Defs [ 3 of 25] Compiling Defs.Static [ 4 of 25] Compiling Defs.JSON [ 5 of 25] Compiling Panes.Common.Attrs [ 6 of 25] Compiling Panes.Common.Inputs [ 7 of 25] Compiling Panes.Common.QQDefs [ 8 of 25] Compiling Panes.Confirmation [ 9 of 25] Compiling Panes.Help [10 of 25] Compiling Panes.Location [11 of 25] Compiling Panes.LocationInput [12 of 25] Compiling Panes.Messages [13 of 25] Compiling Panes.NoteInput [14 of 25] Compiling Panes.Notes [15 of 25] Compiling Panes.Operations [16 of 25] Compiling Panes.ProjInfo [17 of 25] Compiling Panes.Projects [18 of 25] Compiling Panes.Summary [19 of 25] Compiling Paths_mywork [20 of 25] Compiling Sync lib/Sync.hs:122:7: error: " Illegal equational constraint NoteCore core ~ NoteRT (Use GADTs or TypeFamilies to permit this) " When checking the inferred type mkFileNote :: forall {core} {m :: * -> *} {b}. (NoteCore core ~ NoteRT, MonadIO m) => [Note_ core] -> Path b Path.Posix.File -> m [Note_ core] In the expression: let notesDir = lcl (Path.Internal.Posix.Path "@MyWork/" :: Path Path.Posix.Rel Dir) mkFileNote nl f = case fileExtension f of Just ".txt" -> ... _ -> ... in do ne <- liftIO (doesDirExist notesDir) if ne then do ... else return mempty In an equation for getLocNotes: getLocNotes lcl = let notesDir = lcl (Path.Internal.Posix.Path "@MyWork/" :: Path Path.Posix.Rel Dir) mkFileNote nl f = ... in do ne <- liftIO (doesDirExist notesDir) if ne then ... else return mempty | 122 | mkFileNote nl f = | ^^^^^^^^^^^^^^^^^... lib/Sync.hs:152:7: error: " Illegal equational constraint NoteCore core ~ NoteRT (Use GADTs or TypeFamilies to permit this) " When checking the inferred type addRmtNoteText :: forall {core}. (NoteCore core ~ NoteRT) => (LType, LocationSpec) -> Location_ core -> Location_ core In the expression: let rmtnoteTxt :: (LType, LocationSpec) -> Text rmtnoteTxt = \case (GitRepo (GitRemote n), r) -> ... (GitFork (GitRepo (GitRemote n)), r) -> ... (DarcsRepo, r) -> ... (_, r) -> ... addRmtNoteText ol cl = let ... in ... .... in loc2 & locValidL .~ maybe True id (locExists locsts) & locatedOnL .~ (lastUpd locsts <|> loc ^. locatedOnL) In an equation for applyLocSync: applyLocSync now locsts loc = let rmtnoteTxt :: (LType, LocationSpec) -> Text rmtnoteTxt = ... .... in loc2 & locValidL .~ maybe True id (locExists locsts) & locatedOnL .~ (lastUpd locsts <|> loc ^. locatedOnL) | 152 | addRmtNoteText ol cl = | ^^^^^^^^^^^^^^^^^^^^^^... lib/Sync.hs:190:16: error: " Illegal equational constraint LocationCore core ~ LocRT (Use GADTs or TypeFamilies to permit this) " When checking the inferred type mkLoc :: forall {core}. (LocationCore core ~ LocRT, NoteCore core ~ NoteRT) => (LType, LocationSpec) -> Location_ core In the expression: do modify (l ^. locationL :) locsts <- syncLocation l now <- utctDay <$> liftIO getCurrentTime let l' = ... .... In a case alternative: False -> do modify (l ^. locationL :) locsts <- syncLocation l now <- utctDay <$> liftIO getCurrentTime .... | 190 | let mkLoc (lt,ls) = | ^^^^^^^^^^^^^^^... cabal: Leaving directory '/tmp/cabal-tmp-3328896/mywork-1.0.1.0' Error: cabal: Some packages failed to install: mywork-1.0.1.0-5MlNX88hcQ4LEfIQKb2dJv failed during the building phase. The exception was: ExitFailure 1