Posso disabilitare il modello non esaustivo di corrispondenze di avvertenza solo per lambda?È possibile disabilitare l'avviso di "corrispondenza del modello non esaustivo" solo per lambdas?
mi piace l'avvertimento in generale, ma non per letterali lambda effettivi in questo modo:
map (\(x:xs)->...) ls
Penso che questo codice rende abbastanza chiaro che mi aspetto che tutti i valori di ls
di avere sempre almeno un elemento e non esiste un modo pulito per gestire il caso di errore nel lambda. (Immagino di poter spostare la corrispondenza del modello in una frase case
, ma sarebbe semplicemente brutta.)
Per farvi sapere, è generalmente una cattiva idea sopprimere gli avvertimenti come una regola empirica in qualsiasi lingua. Mi rendo conto che questo potrebbe essere sicuro, ma altre aree del tuo codice potrebbero non essere sicure, e le cose potrebbero cambiare: non vuoi essere scoperto in quelle situazioni. – AJFarmar