{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreibqf6h4y74w2s5flmusmspbwpaaqub5i5nds5fdznjoyxvqjre6p4",
"uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mk4cslfnq7f2"
},
"path": "/t/add-an-implementation-for-the-default-trait-for-std-controlflow/24191#post_3",
"publishedAt": "2026-04-22T18:22:41.000Z",
"site": "https://internals.rust-lang.org",
"textContent": "IMHO it's much more obvious that \"`Default` for `Result` should be `Ok`\" than \"`Default` for `ControlFlow` should be `Continue`\". And yet even `Result` doesn't implement it.\n\nWhy \"more obvious\"?: I see `ControlFlow` as \"like `Result` with _without_ the semantic extra assumptions `Result` comes with\", in other words `ControlFlow` should be more symmetrical in treating it's variants than `Result` is, and basically the _only_ asymmetry should be in the behavior for the `?` operator (and other uses of the `Try` trait).\n\nPresumably a major reason why `Result` doesn't offer a `Default` based on `Ok` is that `Option` implements `Default` returning _**`None`**_!",
"title": "Add an implementation for the Default trait for std::ops::ControlFlow"
}