Skip to content

Commit 3ab7ae3

Browse files
Lucretieldtolnay
authored andcommitted
Bring net/parser.rs up to modern up to date with modern rust patterns
Made the following changes throughout the IP address parser: - Replaced all uses of `is_some()` / `is_none()` with `?`. - "Upgraded" loops wherever possible; ie, replace `while` with `for`, etc. - Removed all cases of manual index tracking / incrementing. - Renamed several single-character variables with more expressive names. - Replaced several manual control flow segments with equivalent adapters (such as `Option::filter`). - Removed `read_seq_3`; replaced with simple sequences of `?`. - Parser now reslices its state when consuming, rather than carrying a separate state and index variable. - `read_digit` now uses `char::to_digit`. - Removed unnecessary casts back and forth between u8 and u32 - Added comments throughout, especially in the complex IPv6 parsing logic. - Added comprehensive local unit tests for the parser to validate these changes.
1 parent 672b272 commit 3ab7ae3

File tree

1 file changed

+289
-193
lines changed

1 file changed

+289
-193
lines changed

0 commit comments

Comments
 (0)