Cargo Features

[dependencies]
roblox-rs-core = { version = "0.1.0", default-features = false, features = ["ast-parser", "llvm-ir", "luau-text", "luau-bytecode", "optimize", "roblox-api", "parallelization", "binary-compatibility", "temp-files", "luau-runtime", "logging", "proc_macros", "interpret"] }
default = ast-parser

The ast-parser feature is set by default whenever roblox-rs-core is added without default-features = false somewhere in the dependency tree.

ast-parser default = proc-macro2, quote, syn

Compiler approaches

Affects compiler::compile, roblox-rs-core::ast

llvm-ir = inkwell

Affects roblox-rs-core::ir

luau-text

Output formats

luau-bytecode
optimize

Optimization levels

roblox-api = serde, serde_json

Roblox integration

Affects roblox-rs-core::roblox

parallelization

Advanced features

binary-compatibility
temp-files = tempfile

Utilities

luau-runtime = mlua
logging = log
proc_macros = syn
interpret

interpret feature no longer includes luau-sys

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

syn ast-parser proc_macros?

Enables syn

Rust parsing

quote ast-parser
proc-macro2 ast-parser
inkwell llvm-ir?

Enables inkwell ^0.2.0

LLVM integration (optional)

serde roblox-api?

Enables serde

Luau generation

serde_json roblox-api?
tempfile temp-files?

Enables tempfile

Utilities

Affects utils::create_temp_file

log logging?
mlua luau-runtime?

Enables mlua

Luau integration