on master help sign in
Minor reformat of an error message to keep each line under 80 characters
0fcd342Evan Czaplicki
compiler/Transform/SortDefinitions.hs+10−8
@@ -120,18 +120,20 @@ reorder lexpr@(L s expr) =
120 mapM free (ctors pattern)
120 mapM free (ctors pattern)
121
121
122 let addDefs ds bod = L s (Let (concatMap toDefs ds) bod)
122 let addDefs ds bod = L s (Let (concatMap toDefs ds) bod)
123− where
124− toDefs (pattern, expr, Nothing) = [ Def pattern expr ]
125− toDefs (PVar name, expr, Just tipe) =
126− [ TypeAnnotation name tipe, Def (PVar name) expr ]
127− -- This case really shouldn't happen since we've
128− -- removed everything but Def's and PVars above.
129− toDefs (_,_,_) = error "The impossible occurred. Please report an issue at https://github.com/evancz/Elm/issues describing what led to this error message."
130−
131 L _ let' = foldr addDefs body' defss
123 L _ let' = foldr addDefs body' defss
132
124
133 return let'
125 return let'
134
126
127+ where
128+ toDefs def =
129+ case def of
130+ (pattern, expr, Nothing) -> [ Def pattern expr ]
131+ (PVar name, expr, Just tipe) ->
132+ [ TypeAnnotation name tipe, Def (PVar name) expr ]
133+ _ -> error $ unlines
134+ [ "The impossible occurred."
135+ , "Please report an issue at <https://github.com/evancz/Elm/issues>."
136+ , "Be very descriptive because something quite weird probably happened." ]
135
137
136reorderField (label, expr) =
138reorderField (label, expr) =
137 (,) label `liftM` reorder expr
139 (,) label `liftM` reorder expr