What happened?
When a WIT interface name has no package namespace (e.g. a plain "exports" interface rather than wasi:http/types), the code generator produces invalid Rust paths with a leading :: separator:
// Generated (broken):
impl<I: ...> ::Types<...> for ...
// Should be:
impl<I: ...> Types<...> for ...
Steps to Reproduce
Use a WIT world with unqualified interface names (no package prefix):
world root {
import wasi:filesystem/types@0.2.0;
export executor; // no package namespace
}
Expected Results
Generates valid Rust: impl<I: ...> Types<...> for ...
Actual Results
TODO: What actually happened?
Versions and Environment
Hyperlight version or commit: TODO
OS Version
Run the following to find your OS version:
Linux:
cat /etc/os-release && uname -a
Windows (PowerShell):
Hypervisor
Run the following to check hypervisor access:
Linux:
ls -la /dev/kvm /dev/mshv 2>&1; getfacl /dev/kvm /dev/mshv 2>&1; id
[ -r /dev/kvm ] && [ -w /dev/kvm ] && echo "KVM: OK" || echo "KVM: FAIL"
[ -r /dev/mshv ] && [ -w /dev/mshv ] && echo "MSHV: OK" || echo "MSHV: FAIL"
Windows (Admin PowerShell):
Get-WindowsOptionalFeature -Online | Where-Object {$_.FeatureName -match 'Hyper-V|HypervisorPlatform|VirtualMachinePlatform'} | Format-Table
Extra Info
Anything else you'd like to add?
What happened?
When a WIT interface name has no package namespace (e.g. a plain
"exports"interface rather thanwasi:http/types), the code generator produces invalid Rust paths with a leading::separator:Steps to Reproduce
Use a WIT world with unqualified interface names (no package prefix):
Expected Results
Generates valid Rust:
impl<I: ...> Types<...> for ...Actual Results
TODO: What actually happened?
Versions and Environment
Hyperlight version or commit: TODO
OS Version
Run the following to find your OS version:
Linux:
cat /etc/os-release && uname -aWindows (PowerShell):
cmd /c verHypervisor
Run the following to check hypervisor access:
Linux:
Windows (Admin PowerShell):
Extra Info
Anything else you'd like to add?