Time: 0:00
Test a custom input to verify an edge case (e.g. empty lists, negative numbers, duplicates).
This bug belongs to the null and undefined errors pattern
Cannot read properties of undefined, NoneType has no attribute, NaN appearing from nowhere.
What went wrong: An interface in Go holds both a type and a value. Returning a typed nil pointer (*CustomErr)(nil) creates an interface with type *CustomErr and value nil, which is NOT equal to nil interface.
The fix: Return an untyped nil literal directly from getError instead of assigning a typed nil pointer to the interface.
Remember: An interface equals nil only when both its underlying type and its underlying value are nil.
The pattern behind it: null and undefined errors.
Paste this into any web page or blog post. Visitors fix the bug right there, in their browser.
<iframe src="https://trybughunt.com/embed/ecc6eb4c-f6ac-4566-8f4c-a939d87b3f80" title="Debugging challenge: Interface nil comparison bug with typed nil" width="100%" height="580" loading="lazy" style="border:1px solid #d4d4d8;border-radius:12px;max-width:760px"></iframe>
<p style="font-size:14px">Debugging challenge from <a href="https://trybughunt.com/challenges/ecc6eb4c-f6ac-4566-8f4c-a939d87b3f80">TryBugHunt</a></p>