Ich habe einen Typ:Typenkonflikt beim Versuch, den Typ in Elm zu destrukturieren?
type MenuItem msg
= MenuItem
{ attributes : List (Attribute msg)
, children : List (Html msg)
}
, die Teil eines NavBar
ist. Dann habe ich eine Funktion renderItems
, die eine Liste von MenuItem
s macht:
renderItems : List (MenuItem msg) -> Html msg
renderItems items =
ul [ class "nav-list" ] (List.map renderItem items)
renderItems
, wie Sie sehen können, ruft renderItem
, die wie folgt aussieht:
renderItem : MenuItem msg -> Html msg
renderItem { attributes, children } =
li [ class "nav-item" ]
[ a ([ class "nav-link" ] ++ attributes)
children
]
Aber ich bekomme einen Compiler-Fehler hier :
This record is causing problems in this pattern match.
14| renderItem { attributes, children } =
^^^^^^^^^^^^^^^^^^^^^^^^
The pattern matches things of type:
MenuItem msg
But the values it will actually be trying to match are:
{ c | attributes : a, children : b }
Detected errors in 1 module.
Kann jemand das für mich interpretieren? Ich verstehe das Missverhältnis nicht. attributes
und children
scheinen ziemlich gut zusammenzupassen.