From 27d00055df8691a6bd99aaf38633a7338b16cc6a Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 11 Jul 2026 16:33:05 +0900 Subject: chore: use fully-qualified name for Rc/RefCell --- crates/shirabe-php-shim/src/xml.rs | 37 ++++++++++++++++++------------------- crates/shirabe-php-shim/src/zip.rs | 7 +++---- 2 files changed, 21 insertions(+), 23 deletions(-) (limited to 'crates/shirabe-php-shim') diff --git a/crates/shirabe-php-shim/src/xml.rs b/crates/shirabe-php-shim/src/xml.rs index b3938da1..8e988a87 100644 --- a/crates/shirabe-php-shim/src/xml.rs +++ b/crates/shirabe-php-shim/src/xml.rs @@ -4,8 +4,7 @@ //! is held behind `Rc>`. `DOMDocument`, `DOMNode` and `DOMNodeList` are thin //! handles over that graph. -use std::cell::RefCell; -use std::rc::{Rc, Weak}; +use std::rc::Weak; #[derive(Debug, Clone, Copy, PartialEq)] enum NodeType { @@ -23,8 +22,8 @@ struct NodeInner { attributes: Vec<(String, String)>, /// Character data for text nodes. value: String, - children: Vec>>, - owner_document: Weak>, + children: Vec>>, + owner_document: Weak>, /// Document-only fields. version: String, encoding: String, @@ -33,11 +32,11 @@ struct NodeInner { /// A document handle. PHP \DOMDocument. #[derive(Debug, Clone)] -pub struct DOMDocument(Rc>); +pub struct DOMDocument(std::rc::Rc>); /// A node handle (element or text). PHP \DOMNode or \DOMElement. #[derive(Debug, Clone)] -pub struct DOMNode(Rc>); +pub struct DOMNode(std::rc::Rc>); /// An ordered, live-ish snapshot of nodes. PHP \DOMNodeList. #[derive(Debug, Clone)] @@ -45,7 +44,7 @@ pub struct DOMNodeList(Vec); impl DOMDocument { pub fn new(version: &str, encoding: &str) -> DOMDocument { - DOMDocument(Rc::new(RefCell::new(NodeInner { + DOMDocument(std::rc::Rc::new(std::cell::RefCell::new(NodeInner { node_type: NodeType::Document, name: String::new(), attributes: Vec::new(), @@ -64,13 +63,13 @@ impl DOMDocument { } pub fn create_element(&self, name: &str) -> DOMNode { - DOMNode(Rc::new(RefCell::new(NodeInner { + DOMNode(std::rc::Rc::new(std::cell::RefCell::new(NodeInner { node_type: NodeType::Element, name: name.to_string(), attributes: Vec::new(), value: String::new(), children: Vec::new(), - owner_document: Rc::downgrade(&self.0), + owner_document: std::rc::Rc::downgrade(&self.0), version: String::new(), encoding: String::new(), format_output: false, @@ -85,13 +84,13 @@ impl DOMDocument { } pub fn create_text_node(&self, data: &str) -> DOMNode { - DOMNode(Rc::new(RefCell::new(NodeInner { + DOMNode(std::rc::Rc::new(std::cell::RefCell::new(NodeInner { node_type: NodeType::Text, name: String::new(), attributes: Vec::new(), value: data.to_string(), children: Vec::new(), - owner_document: Rc::downgrade(&self.0), + owner_document: std::rc::Rc::downgrade(&self.0), version: String::new(), encoding: String::new(), format_output: false, @@ -105,7 +104,7 @@ impl DOMDocument { /// Deep- or shallow-copy a node so it can be inserted into this document. pub fn import_node(&self, node: &DOMNode, deep: bool) -> DOMNode { - DOMNode(deep_clone(&node.0, &Rc::downgrade(&self.0), deep)) + DOMNode(deep_clone(&node.0, &std::rc::Rc::downgrade(&self.0), deep)) } pub fn get_elements_by_tag_name(&self, name: &str) -> DOMNodeList { @@ -205,10 +204,10 @@ impl IntoIterator for DOMNodeList { } fn deep_clone( - node: &Rc>, - owner: &Weak>, + node: &std::rc::Rc>, + owner: &Weak>, deep: bool, -) -> Rc> { +) -> std::rc::Rc> { let source = node.borrow(); let children = if deep { source @@ -219,7 +218,7 @@ fn deep_clone( } else { Vec::new() }; - Rc::new(RefCell::new(NodeInner { + std::rc::Rc::new(std::cell::RefCell::new(NodeInner { node_type: source.node_type, name: source.name.clone(), attributes: source.attributes.clone(), @@ -233,9 +232,9 @@ fn deep_clone( } fn collect_by_tag( - node: &Rc>, + node: &std::rc::Rc>, name: &str, - out: &mut Vec>>, + out: &mut Vec>>, ) { for child in &node.borrow().children { let is_match = { @@ -250,7 +249,7 @@ fn collect_by_tag( } fn serialize_node( - node: &Rc>, + node: &std::rc::Rc>, depth: usize, format: bool, out: &mut W, diff --git a/crates/shirabe-php-shim/src/zip.rs b/crates/shirabe-php-shim/src/zip.rs index 8bb51d1d..93b65fd5 100644 --- a/crates/shirabe-php-shim/src/zip.rs +++ b/crates/shirabe-php-shim/src/zip.rs @@ -2,7 +2,6 @@ use crate::ErrorException; use crate::PhpMixed; use crate::{StreamBacking, StreamState}; use indexmap::IndexMap; -use std::cell::RefCell; use zip::write::SimpleFileOptions; /// Test-only behaviour mirroring PHPUnit's `getMockBuilder('ZipArchive')->getMock()`, where @@ -36,7 +35,7 @@ enum ZipState { #[derive(Debug)] pub struct ZipArchive { pub num_files: i64, - state: RefCell, + state: std::cell::RefCell, /// Test-only mock state. `None` in production; set via [`ZipArchive::__mock`] in tests. mock: Option, } @@ -51,7 +50,7 @@ impl ZipArchive { pub fn new() -> Self { Self { num_files: 0, - state: RefCell::new(ZipState::Closed), + state: std::cell::RefCell::new(ZipState::Closed), mock: None, } } @@ -61,7 +60,7 @@ impl ZipArchive { pub fn __mock(mock: ZipArchiveMock) -> Self { Self { num_files: mock.count, - state: RefCell::new(ZipState::Closed), + state: std::cell::RefCell::new(ZipState::Closed), mock: Some(mock), } } -- cgit v1.3.1