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: Moving a std::unique_ptr transfers ownership to the target and leaves the source pointer empty (nullptr). Dereferencing *p1 after std::move causes a null pointer dereference.
The fix: Read from the new owner *p2 instead of the moved-from pointer *p1.
Remember: Objects moved via std::move are left in a valid but unspecified state; unique_ptr specifically becomes null.
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/c15170c7-b526-4355-920e-fced5cfdb8a1" title="Debugging challenge: Use after move on std::unique_ptr" 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/c15170c7-b526-4355-920e-fced5cfdb8a1">TryBugHunt</a></p>