Skip to content

Commit

Permalink
Merge pull request #1166 from dtolnay/allocvec
Browse files Browse the repository at this point in the history
Fix `json!` invocations when std prelude is not in scope
  • Loading branch information
dtolnay authored Aug 1, 2024
2 parents 611b2a4 + 6827c7b commit 49d7d66
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 3 deletions.
6 changes: 6 additions & 0 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -373,6 +373,12 @@ extern crate alloc;
#[cfg(feature = "std")]
extern crate std;

// Not public API. Used from macro-generated code.
#[doc(hidden)]
pub mod __private {
pub use alloc::vec;
}

#[cfg(feature = "std")]
#[cfg_attr(docsrs, doc(cfg(feature = "std")))]
#[doc(inline)]
Expand Down
6 changes: 3 additions & 3 deletions src/macros.rs
Original file line number Diff line number Diff line change
Expand Up @@ -77,12 +77,12 @@ macro_rules! json_internal {

// Done with trailing comma.
(@array [$($elems:expr,)*]) => {
vec![$($elems,)*]
$crate::__private::vec![$($elems,)*]
};

// Done without trailing comma.
(@array [$($elems:expr),*]) => {
vec![$($elems),*]
$crate::__private::vec![$($elems),*]
};

// Next element is `null`.
Expand Down Expand Up @@ -254,7 +254,7 @@ macro_rules! json_internal {
};

([]) => {
$crate::Value::Array(vec![])
$crate::Value::Array($crate::__private::vec![])
};

([ $($tt:tt)+ ]) => {
Expand Down

0 comments on commit 49d7d66

Please sign in to comment.