Time: 0:00
Test a custom input to verify an edge case (e.g. empty lists, negative numbers, duplicates).
This bug belongs to the type errors pattern
Totals that concatenate, sorts that put 10 before 9, comparisons that refuse to run.
What went wrong: Calling downcast::<T>() on a Box<dyn Any> returns a Result<Box<T>, Box<dyn Any>>. If the concrete type does not match, it returns Err. Unwrapping an Err triggers a panic.
The fix: Match on the downcast result and return -1 on the Err branch.
Remember: Always pattern-match on downcast results instead of unwrapping blindly.
The pattern behind it: type 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/3aa5e6b9-7038-428b-ba64-b8d8f23a96d9" title="Debugging challenge: Downcast on Box dyn Any fails with wrong type" 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/3aa5e6b9-7038-428b-ba64-b8d8f23a96d9">TryBugHunt</a></p>