You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I discovered a weird compiler error in a large project, and narrowed it down to an alias having to be defined in the right module. Moving the alias to another module breaks type checking, with the error being something about Pos not being implemented. See the below output:
compiler-bug-example on master via <=> v0.15.10 via impure (nix-shell-env) took 2m43s
$ spago build
[1 of 1] Compiling Main
[1/1 NoInstanceFound] src/Main.purs:16:7
16 bar = discreteFromDense
^^^^^^^^^^^^^^^^^
No type class instance was found for
Data.Typelevel.Num.Sets.Pos t0
The instance head contains unknown type variables. Consider adding a type annotation.
while checking that type forall (c :: Symbol) (u :: Symbol) (m :: Type) (n :: Type). Pos m => Pos n => UnitScale @Type c u (Tuple m n) => Approximation -> Dense c -> Tuple ... ...
is at least as general as type Approximation -> Dense "SEK" -> Tuple (Discrete "SEK" "öre") (Dense "SEK")
while checking that expression discreteFromDense
has type Approximation -> Dense "SEK" -> Tuple (Discrete "SEK" "öre") (Dense "SEK")
in value declaration bar
where t0 is an unknown type
Src Lib All
Warnings 0 0 0
Errors 1 0 1
[error] Failed to build.
Description
I discovered a weird compiler error in a large project, and narrowed it down to an alias having to be defined in the right module. Moving the alias to another module breaks type checking, with the error being something about Pos not being implemented. See the below output:
To Reproduce
Steps to reproduce the behavior.
I have set up a minimal repository here
Steps:
Expected behavior
Expected to be able to move type alias between modules.
Additional context
Add any other context about the problem here.
PureScript version
0.15.10
The text was updated successfully, but these errors were encountered: