#[test]
fn vyre_core_has_no_concrete_gpu_runtime_dependencies() {
let manifest = include_str!("../Cargo.toml");
let parsed = manifest
.parse::<toml::Value>()
.expect("Fix: vyre-core/Cargo.toml must remain parseable TOML");
let deps = parsed
.get("dependencies")
.and_then(toml::Value::as_table)
.expect("Fix: vyre-core/Cargo.toml must contain a dependencies table");
for forbidden in [
"wgpu",
"bytemuck",
"pollster",
"vyre-primitives",
"vyre-libs",
"vyre-intrinsics",
"vyre-self-substrate",
] {
assert!(
!deps.contains_key(forbidden),
"Fix: vyre-core must not depend directly on `{forbidden}`; concrete runtime crates belong in driver crates."
);
}
}
#[test]
fn vyre_core_lower_facade_uses_canonical_vyre_lower_crate() {
let manifest = include_str!("../Cargo.toml");
let parsed = manifest
.parse::<toml::Value>()
.expect("Fix: vyre-core/Cargo.toml must remain parseable TOML");
let deps = parsed
.get("dependencies")
.and_then(toml::Value::as_table)
.expect("Fix: vyre-core/Cargo.toml must contain a dependencies table");
assert!(
deps.contains_key("vyre-lower"),
"Fix: vyre-core::lower must expose the canonical vyre-lower crate, not the legacy foundation lower module."
);
let _lower_fn: fn(&vyre::ir::Program) -> Result<vyre::lower::KernelDescriptor, _> =
vyre::lower::lower;
}