Skip to content

Crate Features

Setting your crate features is an important step in making the language behave the way you want.

INFO

Features can be added like this:

toml
[dependencies]
nbcl = { version = "x", features = ["feature1", "feature2"] }

module-imports

Enable module imports. (Enabled by default)

lib-imports

Enable library imports. (Enabled by default)

metadata

Make ResolvedNode carry Span metadata.

pretty-errors

This feature makes all the printed errors look good and beautiful. Ideally, it is better to not use this feature and instead manually pipe the data from the error structure to a diagnostic crate like ariadne, because it gives you more control and customizability.

DANGER

Ensure that the error is printed normally for this to work.

rs
// Like this
println!("{}", e);

// NOT like this:
println!("{:#?}", e);

wasm

This feature adds WebAssembly compatiblity to NBCL. Nothing more, nothing less.

DANGER

  • DO NOT ENABLE THIS FEATURE IN RUST!

Using this feature for a standard Rust build may result in printing functionality not working.