diff options
Diffstat (limited to 'crates/shirabe/src/package')
| -rw-r--r-- | crates/shirabe/src/package/handle.rs | 48 | ||||
| -rw-r--r-- | crates/shirabe/src/package/loader/validating_array_loader.rs | 13 | ||||
| -rw-r--r-- | crates/shirabe/src/package/package.rs | 3 |
3 files changed, 35 insertions, 29 deletions
diff --git a/crates/shirabe/src/package/handle.rs b/crates/shirabe/src/package/handle.rs index c1db49c1..2b23a8c2 100644 --- a/crates/shirabe/src/package/handle.rs +++ b/crates/shirabe/src/package/handle.rs @@ -7,8 +7,6 @@ use crate::package::{ AliasPackage, BasePackage, CompleteAliasPackage, CompletePackage, CompletePackageInterface, Package, PackageInterface, RootAliasPackage, RootPackage, RootPackageInterface, }; -use std::cell::RefCell; -use std::rc::Rc; /// Any package type. #[derive(Debug, Clone)] @@ -192,7 +190,7 @@ impl AnyPackage { // parent::__clone(); // $this->aliasOf = clone $this->aliasOf; let new_alias_of_inner = p.alias_of.0.borrow().dup(); - let new_alias_of_rc = Rc::new(RefCell::new(new_alias_of_inner)); + let new_alias_of_rc = std::rc::Rc::new(std::cell::RefCell::new(new_alias_of_inner)); let new_root = RootPackageHandle(new_alias_of_rc.clone()); let new_complete = CompletePackageHandle(new_alias_of_rc.clone()); let new_pkg = PackageHandle(new_alias_of_rc); @@ -1361,7 +1359,7 @@ macro_rules! impl_handle_upcast { /// Shared reference to any package. Corresponds to PHP `PackageInterface`. #[derive(Debug, Clone)] -pub struct PackageInterfaceHandle(Rc<RefCell<AnyPackage>>); +pub struct PackageInterfaceHandle(std::rc::Rc<std::cell::RefCell<AnyPackage>>); /// Shared reference to any package. Corresponds to PHP `BasePackage`. /// It is exactly the same as `PackageInterface` in Shirabe. It is only for mirroing PHP type @@ -1370,35 +1368,35 @@ pub type BasePackageHandle = PackageInterfaceHandle; /// Shared reference to a complete package. Corresponds to PHP `CompletePackageInterface`. #[derive(Debug, Clone)] -pub struct CompletePackageInterfaceHandle(Rc<RefCell<AnyPackage>>); +pub struct CompletePackageInterfaceHandle(std::rc::Rc<std::cell::RefCell<AnyPackage>>); /// Shared reference to a root package. Corresponds to PHP `RootPackageInterface`. #[derive(Debug, Clone)] -pub struct RootPackageInterfaceHandle(Rc<RefCell<AnyPackage>>); +pub struct RootPackageInterfaceHandle(std::rc::Rc<std::cell::RefCell<AnyPackage>>); /// Shared reference to a real (non-alias) package. Corresponds to PHP `Package`. #[derive(Debug, Clone)] -pub struct PackageHandle(Rc<RefCell<AnyPackage>>); +pub struct PackageHandle(std::rc::Rc<std::cell::RefCell<AnyPackage>>); /// Shared reference to a real complete package. Corresponds to PHP `CompletePackage`. #[derive(Debug, Clone)] -pub struct CompletePackageHandle(Rc<RefCell<AnyPackage>>); +pub struct CompletePackageHandle(std::rc::Rc<std::cell::RefCell<AnyPackage>>); /// Shared reference to a real root package. Corresponds to PHP `RootPackage`. #[derive(Debug, Clone)] -pub struct RootPackageHandle(Rc<RefCell<AnyPackage>>); +pub struct RootPackageHandle(std::rc::Rc<std::cell::RefCell<AnyPackage>>); /// Shared reference to an alias package. Corresponds to PHP `AliasPackage`. #[derive(Debug, Clone)] -pub struct AliasPackageHandle(Rc<RefCell<AnyPackage>>); +pub struct AliasPackageHandle(std::rc::Rc<std::cell::RefCell<AnyPackage>>); /// Shared reference to a complete alias package. Corresponds to PHP `CompleteAliasPackage`. #[derive(Debug, Clone)] -pub struct CompleteAliasPackageHandle(Rc<RefCell<AnyPackage>>); +pub struct CompleteAliasPackageHandle(std::rc::Rc<std::cell::RefCell<AnyPackage>>); /// Shared reference to a root alias package. Corresponds to PHP `RootAliasPackage`. #[derive(Debug, Clone)] -pub struct RootAliasPackageHandle(Rc<RefCell<AnyPackage>>); +pub struct RootAliasPackageHandle(std::rc::Rc<std::cell::RefCell<AnyPackage>>); impl_handle_common!(PackageInterfaceHandle); impl_handle_common!(CompletePackageInterfaceHandle); @@ -1552,7 +1550,9 @@ impl PackageInterfaceHandle { impl PackageHandle { pub fn from_package(package: Package) -> Self { - Self(Rc::new(RefCell::new(AnyPackage::Package(package)))) + Self(std::rc::Rc::new(std::cell::RefCell::new( + AnyPackage::Package(package), + ))) } pub fn new(name: String, version: String, pretty_version: String) -> Self { @@ -1562,7 +1562,9 @@ impl PackageHandle { impl CompletePackageHandle { pub fn from_complete_package(package: CompletePackage) -> Self { - Self(Rc::new(RefCell::new(AnyPackage::CompletePackage(package)))) + Self(std::rc::Rc::new(std::cell::RefCell::new( + AnyPackage::CompletePackage(package), + ))) } pub fn new(name: String, version: String, pretty_version: String) -> Self { @@ -1572,7 +1574,9 @@ impl CompletePackageHandle { impl RootPackageHandle { pub fn from_root_package(package: RootPackage) -> Self { - Self(Rc::new(RefCell::new(AnyPackage::RootPackage(package)))) + Self(std::rc::Rc::new(std::cell::RefCell::new( + AnyPackage::RootPackage(package), + ))) } pub fn new(name: String, version: String, pretty_version: String) -> Self { @@ -1589,7 +1593,9 @@ impl RootPackageHandle { impl AliasPackageHandle { pub fn from_alias_package(package: AliasPackage) -> Self { - Self(Rc::new(RefCell::new(AnyPackage::AliasPackage(package)))) + Self(std::rc::Rc::new(std::cell::RefCell::new( + AnyPackage::AliasPackage(package), + ))) } pub fn new(alias_of: PackageHandle, version: String, pretty_version: String) -> Self { @@ -1636,9 +1642,9 @@ impl AliasPackageHandle { impl CompleteAliasPackageHandle { pub fn from_complete_alias_package(package: CompleteAliasPackage) -> Self { - Self(Rc::new(RefCell::new(AnyPackage::CompleteAliasPackage( - package, - )))) + Self(std::rc::Rc::new(std::cell::RefCell::new( + AnyPackage::CompleteAliasPackage(package), + ))) } pub fn new(alias_of: CompletePackageHandle, version: String, pretty_version: String) -> Self { @@ -1669,7 +1675,9 @@ impl CompleteAliasPackageHandle { impl RootAliasPackageHandle { pub fn from_root_alias_package(package: RootAliasPackage) -> Self { - Self(Rc::new(RefCell::new(AnyPackage::RootAliasPackage(package)))) + Self(std::rc::Rc::new(std::cell::RefCell::new( + AnyPackage::RootAliasPackage(package), + ))) } pub fn new(alias_of: RootPackageHandle, version: String, pretty_version: String) -> Self { diff --git a/crates/shirabe/src/package/loader/validating_array_loader.rs b/crates/shirabe/src/package/loader/validating_array_loader.rs index 3250f011..4d7965f8 100644 --- a/crates/shirabe/src/package/loader/validating_array_loader.rs +++ b/crates/shirabe/src/package/loader/validating_array_loader.rs @@ -18,7 +18,6 @@ use shirabe_semver::Intervals; use shirabe_semver::constraint::AnyConstraint; use shirabe_semver::constraint::SimpleConstraint; use shirabe_spdx_licenses::SpdxLicenses; -use std::cell::RefCell; #[derive(Debug)] pub struct ValidatingArrayLoader { @@ -26,9 +25,9 @@ pub struct ValidatingArrayLoader { version_parser: VersionParser, // RefCell: `load` implements `LoaderInterface`, whose signature takes `&self`, but PHP's // implementation freely mutates these as scratch state for the duration of a single call. - errors: RefCell<Vec<String>>, - warnings: RefCell<Vec<String>>, - config: RefCell<IndexMap<String, PhpMixed>>, + errors: std::cell::RefCell<Vec<String>>, + warnings: std::cell::RefCell<Vec<String>>, + config: std::cell::RefCell<IndexMap<String, PhpMixed>>, flags: i64, } @@ -55,9 +54,9 @@ impl ValidatingArrayLoader { Self { loader, version_parser, - errors: RefCell::new(Vec::new()), - warnings: RefCell::new(Vec::new()), - config: RefCell::new(IndexMap::new()), + errors: std::cell::RefCell::new(Vec::new()), + warnings: std::cell::RefCell::new(Vec::new()), + config: std::cell::RefCell::new(IndexMap::new()), flags, } } diff --git a/crates/shirabe/src/package/package.rs b/crates/shirabe/src/package/package.rs index 6eaf348b..ce22b755 100644 --- a/crates/shirabe/src/package/package.rs +++ b/crates/shirabe/src/package/package.rs @@ -12,7 +12,6 @@ use chrono::{DateTime, Utc}; use indexmap::{IndexMap, IndexSet}; use shirabe_external_packages::composer::pcre::Preg; use shirabe_php_shim::{E_USER_DEPRECATED, LogicException, PhpMixed, strpos, trigger_error}; -use std::rc::Rc; /// Mirror entry, e.g. `['url' => 'https://...', 'preferred' => true]`. #[derive(Debug, Clone)] @@ -709,7 +708,7 @@ impl PackageInterface for Package { } fn set_repository(&mut self, repository: RepositoryInterfaceHandle) -> anyhow::Result<()> { if let Some(existing) = self.repository.as_ref().and_then(|w| w.upgrade()) - && !Rc::ptr_eq(&existing, repository.as_rc()) + && !std::rc::Rc::ptr_eq(&existing, repository.as_rc()) { return Err(LogicException { message: "A package can only be added to one repository".to_string(), |
