Skip to content

Error called at Type/Solve.hs:206:15 -- thread blocked indefinitely in an MVar operation -- caused by type signature with type variable with wrapped phantom types #2185

Open
@SiriusStarr

Description

@SiriusStarr

Quick Summary: While trying to compile valid code with a wrapped phantom type and incomplete type signatures, compiler crashes with the following error (boilerplate parts excluded):

Compiling ...elm: You ran into a compiler bug. Here are some details for the developers:

    a [rank = 2]

CallStack (from HasCallStack):
  error, called at compiler/src/Type/Solve.hs:206:15 in main:Type.Solve

>   thread blocked indefinitely in an MVar operation

SSCCE

module Main exposing (func)


type Wrapper a
    = Wrapper (Internal a)


type Internal a
    = Internal


func internal =
    let
        x : Wrapper a
        x =
            Wrapper internal
    in
    True
  • Elm: 0.19.1
  • Browser: N/A
  • Operating System: Linux

Additional Details

This is valid code and should compile, but the compiler seems to fail to infer the type func : Internal a -> Bool.

  • The error does not occur if neither func nor x have type signatures
  • The error does not occur if both func and x have type signatures
  • The error does not occur if only func has a type signature
  • The error does not occur if x has a concrete type, e.g. x : Wrapper MyType

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions