Skip to content

Commit 6827c7b

Browse files
committed
Fix json! invocations when std prelude is not in scope
1 parent 611b2a4 commit 6827c7b

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

src/lib.rs

+6
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

+3-3
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)