The current parser is very strict. However, many devices ship with malformed, noncompliant EDIDs, and they may never be fixed.
To resolve this, we can make a type like Edid, but each field is Result<Field, EdidError>.
It'll also have a method to_edid(self) that returns Result<Edid, FallibleEdid>, only returning Edid if all fields on self are Result::Ok! :D
The current parser is very strict. However, many devices ship with malformed, noncompliant EDIDs, and they may never be fixed.
To resolve this, we can make a type like
Edid, but each field isResult<Field, EdidError>.It'll also have a method
to_edid(self)that returnsResult<Edid, FallibleEdid>, only returningEdidif all fields onselfareResult::Ok! :D