1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
[]
= "nova-runtime"
= true
= true
= true
= true
= true
= true
= "The Nova language's runtime: garbage collector and async executor (internal to the nova toolchain)"
= "../README.md"
# `links` lets this crate's build script hand metadata to the crates that
# depend on it: nova-cli's build script reads DEP_NOVA_RUNTIME_MANIFEST_DIR
# to find this source and build the staticlib it embeds
# (docs/adr/0027-runtime-and-std-in-an-installed-nova.md).
= "nova_runtime"
[]
# Not a benchmark target: `cargo bench` would otherwise build this under
# libtest's harness, which rejects criterion's `--output-format`. The
# workspace's only benchmark is `nova-lexer/benches/lex.rs`.
= false
# rlib: linked into the nova CLI for the JIT path (`nova run`).
# staticlib: linked into standalone executables by `nova build`.
= ["rlib", "staticlib"]
[]
= { = true }
= { = true }
= { = true }
# `http.rs`'s request-head parser. This is hyper's own HTTP/1 parser, taken
# on its own: standalone, zero-copy, no async and no runtime, so it parks no
# task and registers no waker. The design spec's section 2 records why hyper
# itself cannot drive this project's server and why its parsing internals can
# still be used. `httparse` has no dependencies of its own.
= "1.10"
# The Phase 2 build order names `ring` for `std/crypto`
# (`nova-spec/00-MASTER-SPEC.md` section 3). Chosen over the RustCrypto
# family because it is what the spec names, needs one dependency argument
# rather than four, and adds fewer new lockfile entries: `ring`, `untrusted`,
# `wasi` and `getrandom` 0.2.x, where the alternative adds roughly a dozen.
# Its own MSRV is 1.66, under this workspace's 1.78 floor.
= "0.17"
# `poll.rs`'s platform shim: `select`'s `fd_set` has a different bit-mask
# layout on Linux (glibc, 64-bit words) than on macOS (Darwin, 32-bit words),
# and hand-rolling both correctly with no way to run the macOS arm locally
# would be exactly the "reasoned, not measured" risk this crate's poller
# exists to close. `libc` already ships in this workspace's dependency graph
# (via `rustix`, `errno`, and others), so pulling it in directly adds no new
# supply-chain surface.
[]
= "0.2"
# `WSAPoll`'s `WSAPOLLFD` layout (a `usize`-sized `SOCKET` handle followed by
# two `i16` fields) is simple enough to hand-write, but `windows-sys` gets the
# `#[link(name = "ws2_32")]` pragma and the exact constant values right for
# free, and -- like `libc` above -- is already in this workspace's dependency
# graph via other crates.
[]
# `Win32_System_Console` is `signal.rs`'s `SetConsoleCtrlHandler`. Until now it
# was reachable only through another dependency's feature unification.
= { = "0.61", = ["Win32_Networking_WinSock", "Win32_System_Console"] }
[]
= { = true }