Skip to content

Commit 49d7d66

Browse files
authored
Merge pull request #1166 from dtolnay/allocvec
Fix `json!` invocations when std prelude is not in scope
2 parents 611b2a4 + 6827c7b commit 49d7d66

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

src/lib.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -373,6 +373,12 @@ extern crate alloc;
373373
#[cfg(feature = "std")]
374374
extern crate std;
375375

376+
// Not public API. Used from macro-generated code.
377+
#[doc(hidden)]
378+
pub mod __private {
379+
pub use alloc::vec;
380+
}
381+
376382
#[cfg(feature = "std")]
377383
#[cfg_attr(docsrs, doc(cfg(feature = "std")))]
378384
#[doc(inline)]

src/macros.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,12 +77,12 @@ macro_rules! json_internal {
7777

7878
// Done with trailing comma.
7979
(@array [$($elems:expr,)*]) => {
80-
vec![$($elems,)*]
80+
$crate::__private::vec![$($elems,)*]
8181
};
8282

8383
// Done without trailing comma.
8484
(@array [$($elems:expr),*]) => {
85-
vec![$($elems),*]
85+
$crate::__private::vec![$($elems),*]
8686
};
8787

8888
// Next element is `null`.
@@ -254,7 +254,7 @@ macro_rules! json_internal {
254254
};
255255

256256
([]) => {
257-
$crate::Value::Array(vec![])
257+
$crate::Value::Array($crate::__private::vec![])
258258
};
259259

260260
([ $($tt:tt)+ ]) => {

0 commit comments

Comments
 (0)