Conversation
|
Claude finished @SozinM's task in 1m 32s —— View job Review
Findings:
Inline comments left on points 2 and 3. Point 1 couldn't be left inline because |
| )); | ||
| } | ||
| if self.disable_cross_region_sharing.is_some() { | ||
| if self.disable_cross_region_sharing { |
There was a problem hiding this comment.
Subtle behavior change: previously validate_fields errored on Some(false) (because is_some() was checked), now it only errors when the flag is actually true. This is arguably more correct, but if any caller relied on V1 rejecting bundles that explicitly serialized "disable_cross_region_sharing": false, that rejection is gone. Worth confirming this is intended.
| #[serde(skip_serializing_if = "Option::is_none")] | ||
| pub disable_cross_region_sharing: Option<bool>, | ||
| #[serde(default, skip_serializing_if = "is_false")] | ||
| pub disable_cross_region_sharing: bool, |
There was a problem hiding this comment.
Wire-format compatibility note: the old Option<bool> accepted "disable_cross_region_sharing": null from clients (deserialized to None). With plain bool, an explicit null will now fail deserialization. Omitting the field still works because of #[serde(default)], but if any external producer sends explicit null, it will break. If you want to keep tolerating that, use #[serde(default, deserialize_with = "...")] to coerce null to false, or keep the Option<bool> only on RawBundleMetadata and convert at the boundary.
|
Claude finished @SozinM's task in 1m 1s —— View job Re-review after
|
|
Claude finished @SozinM's task in 54s —— View job Re-review after
|
📝 Summary
Option is bad
💡 Motivation and Context
✅ I have completed the following steps:
make lintmake test