(input: &str)
| 374 | } |
| 375 | |
| 376 | fn parse_python_version(input: &str) -> Option<Vec<u32>> { |
| 377 | let mut parts = Vec::new(); |
| 378 | for segment in input.split('.') { |
| 379 | let value = segment.trim().parse::<u32>().ok()?; |
| 380 | parts.push(value); |
| 381 | } |
| 382 | if parts.len() < 3 { |
| 383 | return None; |
| 384 | } |
| 385 | Some(parts) |
| 386 | } |
| 387 | |
| 388 | fn compare_version(left: &[u32], right: &[u32]) -> i32 { |
| 389 | let length = left.len().max(right.len()); |
no outgoing calls
no test coverage detected