Skip to content

chore(deps): keep piet and piet-coregraphics in one pull request - #41

Merged
rldyourmnd merged 1 commit into
mainfrom
chore/group-coupled-crates
Sep 10, 2026
Merged

chore(deps): keep piet and piet-coregraphics in one pull request#41
rldyourmnd merged 1 commit into
mainfrom
chore/group-coupled-crates

Conversation

@rldyourmnd

Copy link
Copy Markdown
Contributor

#37 bumps piet 0.6.2 → 0.8.0 on its own and cannot merge. The macOS build fails with a dozen E0599s:

no method named `clear` found for struct `CoreGraphicsContext<'a>`
no method named `stroke` found for struct `CoreGraphicsContext<'a>`
no method named `fill` found for struct `CoreGraphicsContext<'a>`
no method named `draw_text` found for struct `CoreGraphicsContext<'a>`
no method named `finish` found for struct `CoreGraphicsContext<'a>`

Every one of those is a RenderContext method. They did not disappear from the API — piet-coregraphics stayed on 0.6.2 and pins an exact piet, so the graph carries piet 0.6.2 and piet 0.8.0 at once and CoreGraphicsContext implements the trait from the copy nothing else is using. The error names the symptom and never the cause.

This file argues, with reasons, that majors should not be grouped. This pair is the exception it does not cover: it is one decision, not two, and neither half compiles alone.

The Cargo.toml note also understated the cost. It said core-graphics 0.24 would be needed "if we use piet 0.7"; piet-coregraphics 0.8.0 requires core-graphics ^0.24 too, and this tree pins core-graphics = "0.22" under cocoa = "0.24". So the next piet bump is a coordinated macOS stack upgrade, not a dependency bump. The note now says that.

Closing #37 as unmergeable in its current shape; the group makes the next attempt arrive whole.

https://claude.ai/code/session_01Dhii8pMkUcUEWKjhDwxzAX

piet-coregraphics pins an exact piet, so a piet major arriving on its own
cannot compile: `CoreGraphicsContext` stops implementing `RenderContext` and
the macOS build fails with a dozen E0599s naming `fill`, `stroke`, `draw_text`
and `finish` - none of which says that the cause is a version split.

That is the one shape majors should be grouped in, against this file's general
rule, because the pair is a single decision rather than two.

The Cargo.toml note said core-graphics 0.24 was needed "if we use piet 0.7".
It is needed for 0.8 as well, and cocoa 0.24 does not take it, so the note now
says what the next bump actually costs: a coordinated macOS stack upgrade.

Claude-Session: https://claude.ai/code/session_01Dhii8pMkUcUEWKjhDwxzAX
@rldyourmnd
rldyourmnd merged commit b9b72e8 into main Sep 10, 2026
23 checks passed
@rldyourmnd
rldyourmnd deleted the chore/group-coupled-crates branch September 10, 2026 10:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant