Add more comments about solana-program patch (downstream) #33965
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
I ran into the errors described at #33424 while developing a geyser plugin, despite having the patch statements in my Cargo.toml already. I didn't think to wipe my Cargo.lock until @joncinque suggested it, and it fixed all my problems.
The behavior feels a bit unintuitive. If having compiled successfully, you comment out the patch statements and recompile (fails), cargo adds the crates.io dependencies to the Cargo.lock. If you subsequently uncomment the patch statements and recompile, cargo does not remove these declarations from the Cargo.lock, so the compilation continues to fail.
Summary of Changes
We have helpful comments around the patch statements in the monorepo Cargo.tomls; extend them with some tips about using downstream.
Fixes #33424