Den gængse praksis er at definere én stor fejl-enum per modul eller krate, hvilket medfører unødvendige fejlvarianter i funktionsresultater.
Denne metode underminerer Rusts stærke typesikkerhed og tvinger udviklere til manuelt at filtrere irrelevante fejl.
Alternativt kan individuelle fejl repræsenteres som struct’er, så de er uafhængige og kan kombineres fleksibelt.
Craten terrors implementerer denne filosofi, men kræver gentagne .map_err(OneOf::broaden)-kald og er derfor omstændelig.
Craten error_set bruger makroer til at definere kompakte fejl-enums og generere konverterings-implikationer automatisk.
Makroen understøtter unions-operatoren for at slå fejlsets sammen og sikrer, at ?-operatoren kun bruges på undersæt af funktions fejl-set.
Der findes også andre biblioteker som SmartErr og eksperimentelle makroer, der automatisk genererer fejl-enums ud fra funktionskoden.
Get notified when new stories are published for "🇩🇰 Hacker News Dansk"