@Sportsman88 - I don’t think the rules are so black and white.
Reasonable: “Sending or showing code that you’ve written to someone, possibly a classmate, so that he or she might help you identify and fix a bug”
Not reasonable: “Giving or showing to a classmate a solution to a problem set’s problem when it is he or she, and not you, who is struggling to solve it.”
I personally think these rules overlap. If two students are both fixing bugs (which may or may not considered struggling, depending on the magnitude of the bugs and their ability to track down the problems and fix them), and view each other’s code, it’s possible that some actions that could be simultaneously considered reasonable and not reasonable. Any collaboration between students while working on problem sets risks falling afoul of these rules if they are not careful.
However, I seems unlikely that this sort of behavior would result in academic dishonestly proceedings. I suspect that @skieurope is correct, they were caught by a plagiarism checker, or possibly CS50 staff noticed similarities between solutions that were flagged as suspicious.