c46025d520
This updates rnix-parser to a version where inherits provide an iterator over `ast::Attr` instead of `ast::Ident`, which mirrors the behaviour of Nix (inherits can have (statically known) strings as their identifiers). This actually required some fairly significant code reshuffling in the compiler, as there was an implicit assumption in many places that we would have an `ast::Ident` node available when dealing with variable access (which is then explicitly only not true in this case). Change-Id: I12f1e786c0030c85107b1aa409bd49adb5465546 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6747 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
63 lines
1.6 KiB
TOML
63 lines
1.6 KiB
TOML
[package]
|
|
name = "tvix-eval"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[lib]
|
|
name = "tvix_eval"
|
|
|
|
[[bin]]
|
|
name = "tvix-eval"
|
|
required-features = [ "repl" ]
|
|
|
|
[dependencies]
|
|
smol_str = "0.1"
|
|
rustyline = { version = "10.0.0", optional = true }
|
|
dirs = "4.0.0"
|
|
path-clean = "0.1"
|
|
tabwriter = "1.2"
|
|
rowan = "*" # pinned by rnix
|
|
codemap = "0.1.3"
|
|
codemap-diagnostic = "0.1.1"
|
|
proptest = { version = "1.0.0", default_features = false, features = ["std", "alloc", "break-dead-code", "tempfile"], optional = true }
|
|
test-strategy = { version = "0.2.1", optional = true }
|
|
clap = { version = "3.2.22", optional = true, features = ["derive", "env"] }
|
|
|
|
# rnix has not been released in a while (as of 2022-09-23), we will
|
|
# use it from git.
|
|
[dependencies.rnix]
|
|
git = "https://github.com/nix-community/rnix-parser.git"
|
|
rev = "85a045afd33e073a3eab4c0ea2f515b6bed557ab"
|
|
|
|
[dev-dependencies]
|
|
criterion = "0.3.6"
|
|
test-generator = "0.3.0"
|
|
pretty_assertions = "1.2.1"
|
|
itertools = "0.10.3"
|
|
tempdir = "0.3.7"
|
|
|
|
[features]
|
|
default = [ "repl", "impure", "arbitrary" ]
|
|
|
|
# Enables running the Nix language test suite from the original C++
|
|
# Nix implementation (at version 2.3) against Tvix.
|
|
nix_tests = []
|
|
|
|
# Enables building the binary (tvix-eval REPL)
|
|
repl = [ "dep:rustyline", "dep:clap" ]
|
|
|
|
# Enables operations in the VM which depend on the ability to perform I/O
|
|
impure = []
|
|
|
|
# Enables Arbitrary impls for internal types (required to run tests)
|
|
arbitrary = [ "proptest", "test-strategy" ]
|
|
|
|
[[bench]]
|
|
name = "eval"
|
|
harness = false
|
|
|
|
[profile.release-with-debug]
|
|
inherits = "release"
|
|
debug = true
|