elm-language-server icon indicating copy to clipboard operation
elm-language-server copied to clipboard

Type inference error when using a generic type alias

Open jmbockhorst opened this issue 2 years ago • 0 comments

RangeFilterData is getting bound to RangeFilterData Float and then failing when trying to decode for a date.

case ... of 
    "NumericRangeFilter" ->
        (Decode.succeed RangeFilterData
            |> required "min" (Decode.nullable Decode.float)
            |> required "max" (Decode.nullable Decode.float)
        )
            |> Decode.map NumericRangeFilter

    "DateRangeFilter" ->
        (Decode.succeed RangeFilterData
            |> required "min" (Decode.nullable dateDecoder)
            |> required "max" (Decode.nullable dateDecoder)
        )
            |> Decode.map DateRangeFilter


type alias RangeFilterData data =
    { min : Maybe data
    , max : Maybe data
    }

type FilterType
    = NumericRangeFilter (RangeFilterData Float)
    | DateRangeFilter (RangeFilterData Date)


jmbockhorst avatar Apr 06 '22 19:04 jmbockhorst