use super::*;
#[derive(Clone, Debug, Deserialize)]
pub struct Report {
pub packages: Vec<Package>,
}
#[derive(Clone, Debug, Deserialize)]
pub struct Package {
pub package: PackagePackage,
pub unsafety: PackageUnsafety
}
#[derive(Clone, Debug, Deserialize)]
pub struct PackagePackage {
pub id: PackagePackageId,
pub dependencies: Vec<PackagePackage>,
pub dev_dependencies: Vec<PackagePackage>,
pub build_dependencies: Vec<PackagePackage>,
}
#[derive(Clone, Debug, Deserialize)]
pub struct PackagePackageId {
pub name: String,
pub version: String,
}
#[derive(Clone, Debug, Deserialize)]
pub struct PackageUnsafety {
pub used: PackageUnsafetyCounts,
pub unused: PackageUnsafetyCounts,
pub forbids_unsafe: bool
}
#[derive(Clone, Debug, Deserialize)]
pub struct PackageUnsafetyCounts {
pub functions: PackageUnsafetyCount,
pub exprs: PackageUnsafetyCount,
pub item_impls: PackageUnsafetyCount,
pub item_traits: PackageUnsafetyCount,
pub methods: PackageUnsafetyCount
}
#[derive(Clone, Debug, Deserialize)]
pub struct PackageUnsafetyCount {
pub safe: usize,
pub unsafe_: usize
}