{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreibojx5gvn5ryoy5m5ad6cdhkyynpphd5h4fxo37lwoyhe6sd6nnbe",
    "uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mo5zzyihyta2"
  },
  "path": "/t/named-impl-with-implementation-selection-variant/24374#post_10",
  "publishedAt": "2026-06-13T09:49:58.000Z",
  "site": "https://internals.rust-lang.org",
  "textContent": "Tamschi:\n\n> This breaks adding or broadening a trait `impl` being SemVer-safe.\n\nActually, It's not SemVer-safe right now.\n\n  * lib A-1.0: `struct A`\n  * bin B:\n\n\n\n\n    trait T {\n    \tfn fn1();\n    }\n    impl T for A {\n    \tfn fn1() {}\n    }\n    A::fn1();\n\n\n  * lib A-1.1, add a new trait and impl, it breaks bin B\n\n\n\n\n    struct A;\n    trait T1 {\n    \tfn fn1();\n    }\n    impl T1 for A {\n    \tfn fn1() {}\n    }\n",
  "title": "Named impl with Implementation Selection Variant"
}