From 9312f0ba903fa3688acd3ccfb816e19214d88eff Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 4 Jul 2026 11:04:06 +0000 Subject: [PATCH] =?UTF-8?q?Revert=20the=20Cargo.toml=20union-merge=20drive?= =?UTF-8?q?r=20=E2=80=94=20it=20mangles=20[[example]]=20blocks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The `Cargo.toml merge=union` .gitattributes (added while resolving the chained example-PR conflict cascade) is the wrong tool for structured TOML. `union` keeps both sides of a conflict hunk line-by-line, so when two branches add an `[[example]]` block at the same anchor it interleaves them into a single block with two `name =` keys: [[example]] name = "gridlake_field_tile" name = "subpel_tap_tile" # <- duplicate key → `cargo` refuses to parse required-features = ["std"] That is worse than a normal conflict (which at least shows clear markers). CI catches it, but only after a broken merge. For an append-only list of multi-line blocks the right resolution is a plain 3-way merge (resolve markers by keeping both blocks intact), not a line-union. Removing the driver. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01MLBnPuScZy6w9di2QEjsXM --- .gitattributes | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 4313aef9..00000000 --- a/.gitattributes +++ /dev/null @@ -1,5 +0,0 @@ -# Additive edits to the [[example]] list collide constantly across topic -# branches. The built-in union merge driver keeps both sides of a conflict -# hunk, auto-resolving append-only lists. (Distinct dependency-line edits are -# caught by CI, not silently merged wrong.) -Cargo.toml merge=union