From ba9fe9a0c4691188e0f6031c67bc359e3f9ada98 Mon Sep 17 00:00:00 2001 From: tison Date: Mon, 27 Oct 2025 11:54:36 +0800 Subject: [PATCH] refactor: rename crate as traversable Signed-off-by: tison --- Cargo.lock | 30 +++++++++---------- Cargo.toml | 4 +-- .../Cargo.toml | 2 +- .../src/lib.rs | 12 ++++---- {visitor => traversable}/Cargo.toml | 6 ++-- {visitor => traversable}/src/function.rs | 0 {visitor => traversable}/src/impls/mod.rs | 0 .../src/impls/ordered_float_5.rs | 0 .../src/impls/stacksafe_01.rs | 0 {visitor => traversable}/src/lib.rs | 4 +-- .../tests/test_make_visitor.rs | 10 ++++--- .../tests/test_ordered_float_5.rs | 12 ++++---- .../tests/test_visitor_mut.rs | 4 +-- 13 files changed, 43 insertions(+), 41 deletions(-) rename {visitor-derive => traversable-derive}/Cargo.toml (97%) rename {visitor-derive => traversable-derive}/src/lib.rs (96%) rename {visitor => traversable}/Cargo.toml (94%) rename {visitor => traversable}/src/function.rs (100%) rename {visitor => traversable}/src/impls/mod.rs (100%) rename {visitor => traversable}/src/impls/ordered_float_5.rs (100%) rename {visitor => traversable}/src/impls/stacksafe_01.rs (100%) rename {visitor => traversable}/src/lib.rs (99%) rename {visitor => traversable}/tests/test_make_visitor.rs (78%) rename {visitor => traversable}/tests/test_ordered_float_5.rs (91%) rename {visitor => traversable}/tests/test_visitor_mut.rs (96%) diff --git a/Cargo.lock b/Cargo.lock index 795283a..c228484 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -309,28 +309,16 @@ dependencies = [ ] [[package]] -name = "unicode-ident" -version = "1.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" - -[[package]] -name = "utf8parse" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" - -[[package]] -name = "visitor" +name = "traversable" version = "0.1.0" dependencies = [ "ordered-float", "stacksafe", - "visitor-derive", + "traversable-derive", ] [[package]] -name = "visitor-derive" +name = "traversable-derive" version = "0.1.0" dependencies = [ "proc-macro2", @@ -338,6 +326,18 @@ dependencies = [ "syn", ] +[[package]] +name = "unicode-ident" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" + +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + [[package]] name = "which" version = "8.0.0" diff --git a/Cargo.toml b/Cargo.toml index 5ff6f9c..b8a1ad8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ # limitations under the License. [workspace] -members = ["visitor", "visitor-derive", "xtask"] +members = ["traversable", "traversable-derive", "xtask"] resolver = "2" [workspace.package] @@ -25,7 +25,7 @@ repository = "https://github.com/fast/visitor" rust-version = "1.85.0" [workspace.dependencies] -visitor-derive = { version = "0.1.0", path = "visitor-derive" } +traversable-derive = { version = "0.1.0", path = "traversable-derive" } [workspace.lints.rust] unknown_lints = "deny" diff --git a/visitor-derive/Cargo.toml b/traversable-derive/Cargo.toml similarity index 97% rename from visitor-derive/Cargo.toml rename to traversable-derive/Cargo.toml index ac678be..105d4b3 100644 --- a/visitor-derive/Cargo.toml +++ b/traversable-derive/Cargo.toml @@ -13,7 +13,7 @@ # limitations under the License. [package] -name = "visitor-derive" +name = "traversable-derive" version = "0.1.0" edition.workspace = true diff --git a/visitor-derive/src/lib.rs b/traversable-derive/src/lib.rs similarity index 96% rename from visitor-derive/src/lib.rs rename to traversable-derive/src/lib.rs index d473957..643ac76 100644 --- a/visitor-derive/src/lib.rs +++ b/traversable-derive/src/lib.rs @@ -230,7 +230,7 @@ fn impl_traversable(input: DeriveInput, mutable: bool) -> Result { None } else { Some(quote! { - ::visitor::#visitor::#enter_method(visitor, self)?; + ::traversable::#visitor::#enter_method(visitor, self)?; }) }; @@ -238,7 +238,7 @@ fn impl_traversable(input: DeriveInput, mutable: bool) -> Result { None } else { Some(quote! { - ::visitor::#visitor::#leave_method(visitor, self)?; + ::traversable::#visitor::#leave_method(visitor, self)?; }) }; @@ -274,8 +274,8 @@ fn impl_traversable(input: DeriveInput, mutable: bool) -> Result { }; Ok(quote! { - impl #impl_generics ::visitor::#impl_trait for #name #ty_generics #where_clause { - fn #method( + impl #impl_generics ::traversable::#impl_trait for #name #ty_generics #where_clause { + fn #method( & #mut_modifier self, visitor: &mut V ) -> ::core::ops::ControlFlow { @@ -405,9 +405,9 @@ fn traverse_field(value: &TokenStream, field: Field, mutable: bool) -> Result(), diff --git a/visitor/Cargo.toml b/traversable/Cargo.toml similarity index 94% rename from visitor/Cargo.toml rename to traversable/Cargo.toml index 2b4d0ce..8f9062b 100644 --- a/visitor/Cargo.toml +++ b/traversable/Cargo.toml @@ -13,7 +13,7 @@ # limitations under the License. [package] -name = "visitor" +name = "traversable" version = "0.1.0" edition.workspace = true @@ -25,7 +25,7 @@ rust-version.workspace = true [features] default = [] -derive = ["visitor-derive"] +derive = ["dep:traversable-derive"] # Implement Traversal for standard library types. std = [] @@ -52,7 +52,7 @@ ordered-float-5 = ["dep:ordered-float-5"] stacksafe-01 = ["dep:stacksafe-01"] [dependencies] -visitor-derive = { workspace = true, optional = true } +traversable-derive = { workspace = true, optional = true } # Optional dependencies for third-party library support ordered-float-5 = { version = "5.1", default-features = false, optional = true, package = "ordered-float" } diff --git a/visitor/src/function.rs b/traversable/src/function.rs similarity index 100% rename from visitor/src/function.rs rename to traversable/src/function.rs diff --git a/visitor/src/impls/mod.rs b/traversable/src/impls/mod.rs similarity index 100% rename from visitor/src/impls/mod.rs rename to traversable/src/impls/mod.rs diff --git a/visitor/src/impls/ordered_float_5.rs b/traversable/src/impls/ordered_float_5.rs similarity index 100% rename from visitor/src/impls/ordered_float_5.rs rename to traversable/src/impls/ordered_float_5.rs diff --git a/visitor/src/impls/stacksafe_01.rs b/traversable/src/impls/stacksafe_01.rs similarity index 100% rename from visitor/src/impls/stacksafe_01.rs rename to traversable/src/impls/stacksafe_01.rs diff --git a/visitor/src/lib.rs b/traversable/src/lib.rs similarity index 99% rename from visitor/src/lib.rs rename to traversable/src/lib.rs index 081a58e..9626cce 100644 --- a/visitor/src/lib.rs +++ b/traversable/src/lib.rs @@ -25,10 +25,10 @@ use core::ops::ControlFlow; #[cfg(feature = "derive")] /// See [`Traversable`]. -pub use visitor_derive::Traversable; +pub use traversable_derive::Traversable; #[cfg(feature = "derive")] /// See [`TraversableMut`]. -pub use visitor_derive::TraversableMut; +pub use traversable_derive::TraversableMut; pub mod function; diff --git a/visitor/tests/test_make_visitor.rs b/traversable/tests/test_make_visitor.rs similarity index 78% rename from visitor/tests/test_make_visitor.rs rename to traversable/tests/test_make_visitor.rs index af1fee9..d75d516 100644 --- a/visitor/tests/test_make_visitor.rs +++ b/traversable/tests/test_make_visitor.rs @@ -16,12 +16,14 @@ use core::ops::ControlFlow; -use visitor::Traversable; -use visitor::TraversableMut; +use traversable::Traversable; +use traversable::TraversableMut; +use traversable::function::make_visitor_enter; +use traversable::function::make_visitor_leave_mut; #[test] fn test_make_visitor() { - let mut visitor = visitor::function::make_visitor_enter::(|item| { + let mut visitor = make_visitor_enter::(|item| { assert_eq!(*item, 42); ControlFlow::Continue(()) }); @@ -32,7 +34,7 @@ fn test_make_visitor() { #[test] fn test_make_visitor_mut() { - let mut visitor = visitor::function::make_visitor_leave_mut::(|item| { + let mut visitor = make_visitor_leave_mut::(|item| { *item += 1; ControlFlow::Continue(()) }); diff --git a/visitor/tests/test_ordered_float_5.rs b/traversable/tests/test_ordered_float_5.rs similarity index 91% rename from visitor/tests/test_ordered_float_5.rs rename to traversable/tests/test_ordered_float_5.rs index f347dd7..208f9d0 100644 --- a/visitor/tests/test_ordered_float_5.rs +++ b/traversable/tests/test_ordered_float_5.rs @@ -18,12 +18,12 @@ use std::any::Any; use std::ops::ControlFlow; use ordered_float_5::OrderedFloat; -use visitor::Traversable as _; -use visitor::TraversableMut as _; -use visitor::Visitor; -use visitor::VisitorMut; -use visitor_derive::Traversable; -use visitor_derive::TraversableMut; +use traversable::Traversable as _; +use traversable::TraversableMut as _; +use traversable::Visitor; +use traversable::VisitorMut; +use traversable_derive::Traversable; +use traversable_derive::TraversableMut; #[test] fn test_ordered_float() { diff --git a/visitor/tests/test_visitor_mut.rs b/traversable/tests/test_visitor_mut.rs similarity index 96% rename from visitor/tests/test_visitor_mut.rs rename to traversable/tests/test_visitor_mut.rs index 38da35b..f662ab4 100644 --- a/visitor/tests/test_visitor_mut.rs +++ b/traversable/tests/test_visitor_mut.rs @@ -17,8 +17,8 @@ use std::any::Any; use std::ops::ControlFlow; -use visitor::TraversableMut; -use visitor::VisitorMut; +use traversable::TraversableMut; +use traversable::VisitorMut; #[derive(TraversableMut)] struct Chain {