wasmer_wasix/runtime/package_loader/
unsupported.rs

1use anyhow::Error;
2use webc::Container;
3
4use crate::{
5    bin_factory::BinaryPackage,
6    runtime::{
7        package_loader::PackageLoader,
8        resolver::{PackageSummary, Resolution},
9    },
10};
11
12/// A [`PackageLoader`] implementation which will always error out.
13#[derive(Debug, Default, Clone, PartialEq, Eq, Hash)]
14pub struct UnsupportedPackageLoader;
15
16#[async_trait::async_trait]
17impl PackageLoader for UnsupportedPackageLoader {
18    async fn load(&self, _summary: &PackageSummary) -> Result<Container, Error> {
19        Err(Error::new(Unsupported))
20    }
21
22    async fn load_package_tree(
23        &self,
24        _root: &Container,
25        _resolution: &Resolution,
26        _root_is_local_dir: bool,
27    ) -> Result<BinaryPackage, Error> {
28        Err(Error::new(Unsupported))
29    }
30}
31
32#[derive(Debug, Copy, Clone, thiserror::Error)]
33#[error("Loading of packages is not supported in this runtime (no PackageLoader configured)")]
34struct Unsupported;