Comments (2)
The current approach was put in place before serde_json had a build.rs. But now we have a build.rs anyway for a different reason, that might be a better place to do this check, if it can produce a good enough error.
With #1124:
error: serde_json requires that either `std` (default) or `alloc` feature is enabled
--> serde-json/src/lib.rs:367:1
|
367 | / compile_error! {
368 | | "serde_json requires that either `std` (default) or `alloc` feature is enabled"
369 | | }
| |_^
error: could not compile `serde_json` (lib) due to 1 previous error
Instead with this code in build.rs:
if cfg!(not(any(feature = "std", feature = "alloc"))) {
eprintln!("serde_json requires that either `std` (default) or `alloc` feature is enabled");
process::exit(1);
}
error: failed to run custom build command for `serde_json v1.0.115`
Caused by:
process didn't exit successfully: `target/debug/build/serde_json-9e37cf325e9030a2/build-script-build` (exit status: 1)
--- stderr
serde_json requires that either `std` (default) or `alloc` feature is enabled
from json.
Some old workarounds that we could drop if build.rs does the check, meaning the library code would never even begin to build with an invalid combination of features: #643.
from json.
Related Issues (20)
- Error position wrong for "unicode code point" error HOT 1
- The error message lacks sufficient detail HOT 1
- Checking for duplicate keys HOT 1
- Binary size increase after #1107 (serde_json v1.0.112) HOT 1
- Deserializing error with UTF-8 BOM (Byte Order Mark) Content HOT 1
- how to make serde_json take ascii text from a json file HOT 2
- { "media": [ ], "label_values": [ { "label": "\u00d0\u0092\u00d1\u0080\u00d0\u00b5\u00d0\u00bc\u00d1\u008f \u00d1\u0081\u00d0\u00be\u00d0\u00b7\u00d0\u00b4\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d1\u008f", "vec": [ { "timestamp_value": 1708192998 } ] },
- json!() macro recursion limit reached on larger objects with no nesting
- json serialization compatible problem HOT 9
- features_check/error.rs interferes with static analysis
- Adding languages to the serde-rs organization HOT 1
- Enum deserialization not working HOT 1
- Am I passing metadata through DeserializeSeed to facilitate deserialization of algebraic datatypes as intended HOT 2
- Serialize enum - only tag
- Implement `Deserializer` for `Map<String, Value>` and `&Map<String, Value>`
- Writing to fmt::Formatter
- Example on "Creating JSON by serializing data structures" doesn't work.
- [Bug] Fails to parse root string array HOT 3
- Discrepancy between serde_json::from_{reader,str}
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from json.