I've got an odd case where if I use a single member workspace "wrapper" I get a different (and working) binary as a result compared to using the project directly. The workspace is defined simply as:
[workspace]
members = ["pinetime-quickstart"]
No dependency overrides.
The project uses git = ...
dependencies pinned to specific revisions. Somehow the resulting binaries differ and only the one in the workspace works fine. I suspect there's some sort of versioning/git issue with cargo since nothing else makes sense.
The dependencies on the top level project are:
[dependencies.st7789]
git = "https://github.com/almindor/st7789.git"
rev = "e56c4e5"
[dependencies.embedded-graphics]
git = "https://github.com/jamwaffles/embedded-graphics.git"
rev = "4da5554"
And the dependency for embedded-graphics on the ST7789 in given revision is:
[dependencies.embedded-graphics]
optional = true
git = "https://github.com/jamwaffles/embedded-graphics.git"
rev = "4da5554"
Any idea how come a workspace-less build produces a different binary? The version from workspace is almost 2x bigger (both unstripped)