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
The
default_allocator!
macro can be used in different contexts, e.g., when runningcargo build-sbf
,cargo test-sbf
orcargo clippy
. Currently it is gated by#[cfg(target_os = "solana")]
, which works fine forcargo build-sbf
andcargo test-sbf
but it is not present forcargo clippy
. This creates a compilation error when the program crate isno_std
.PR #125 solved the issue for clippy, but it is currently generating a warning since there is a misplaced
feature = "std"
test.Solution
Use
#[cfg(not(any(target_os = "solana", test)))]
to gate the placeholder default allocator instead of usingfeature = "std"
test.This is an alternative solution to PR #128.