From 99184606d7263256c00b8ec8a75ddd7d6374da59 Mon Sep 17 00:00:00 2001 From: Gordian Dziwis Date: Fri, 28 Mar 2025 18:33:13 +0100 Subject: [PATCH 01/15] Make Clippy happy --- src/anonymous.rs | 34 +++------ src/graph.rs | 6 +- src/impl/rdf_types/dataset_graph_view.rs | 14 ++-- src/impl/rdf_types/dataset_view.rs | 22 +++--- src/lib.rs | 10 +-- src/predicate.rs | 4 +- src/quads.rs | 93 +++++++++++++++--------- src/rdf.rs | 14 ++-- src/resource.rs | 4 +- src/subject.rs | 8 +- 10 files changed, 110 insertions(+), 99 deletions(-) diff --git a/src/anonymous.rs b/src/anonymous.rs index 5b037bd..75122a9 100644 --- a/src/anonymous.rs +++ b/src/anonymous.rs @@ -14,7 +14,7 @@ impl<'a, T> AnonymousBinding<'a, T> { } } -impl<'a, I: Interpretation, V: Vocabulary, T> LinkedDataResource for AnonymousBinding<'a, T> { +impl LinkedDataResource for AnonymousBinding<'_, T> { fn interpretation( &self, _vocabulary: &mut V, @@ -24,12 +24,8 @@ impl<'a, I: Interpretation, V: Vocabulary, T> LinkedDataResource for Anony } } -impl< - 'a, - V: Vocabulary + IriVocabularyMut, - I: Interpretation, - T: LinkedDataPredicateObjects, - > LinkedDataSubject for AnonymousBinding<'a, T> +impl> + LinkedDataSubject for AnonymousBinding<'_, T> { fn visit_subject(&self, mut serializer: S) -> Result where @@ -40,12 +36,8 @@ impl< } } -impl< - 'a, - V: Vocabulary + IriVocabularyMut, - I: Interpretation, - T: LinkedDataPredicateObjects, - > LinkedDataPredicateObjects for AnonymousBinding<'a, T> +impl> + LinkedDataPredicateObjects for AnonymousBinding<'_, T> { fn visit_objects(&self, mut serializer: S) -> Result where @@ -56,12 +48,8 @@ impl< } } -impl< - 'a, - V: Vocabulary + IriVocabularyMut, - I: Interpretation, - T: LinkedDataPredicateObjects, - > LinkedDataGraph for AnonymousBinding<'a, T> +impl> + LinkedDataGraph for AnonymousBinding<'_, T> { fn visit_graph(&self, mut serializer: S) -> Result where @@ -72,12 +60,8 @@ impl< } } -impl< - 'a, - V: Vocabulary + IriVocabularyMut, - I: Interpretation, - T: LinkedDataPredicateObjects, - > LinkedData for AnonymousBinding<'a, T> +impl> + LinkedData for AnonymousBinding<'_, T> { fn visit(&self, mut serializer: S) -> Result where diff --git a/src/graph.rs b/src/graph.rs index b5669a8..2d2f942 100644 --- a/src/graph.rs +++ b/src/graph.rs @@ -21,8 +21,8 @@ impl LinkedDataGraph for () { } } -impl<'a, I: Interpretation, V: Vocabulary, T: ?Sized + LinkedDataGraph> LinkedDataGraph - for &'a T +impl> LinkedDataGraph + for &T { fn visit_graph(&self, visitor: S) -> Result where @@ -100,7 +100,7 @@ pub trait GraphVisitor { fn end(self) -> Result; } -impl<'a, I: Interpretation, V: Vocabulary, S: GraphVisitor> GraphVisitor for &'a mut S { +impl> GraphVisitor for &mut S { type Ok = (); type Error = S::Error; diff --git a/src/impl/rdf_types/dataset_graph_view.rs b/src/impl/rdf_types/dataset_graph_view.rs index 068cfc7..939e79c 100644 --- a/src/impl/rdf_types/dataset_graph_view.rs +++ b/src/impl/rdf_types/dataset_graph_view.rs @@ -9,7 +9,7 @@ use crate::{ ResourceInterpretation, SubjectVisitor, }; -impl<'a, I: Interpretation, V: Vocabulary, D> LinkedDataSubject for DatasetGraphView<'a, D> +impl LinkedDataSubject for DatasetGraphView<'_, D> where I::Resource: Eq + Hash + LinkedDataResource, D: PredicateTraversableDataset + PatternMatchingDataset, @@ -35,8 +35,8 @@ struct PredicateObjects<'d, 'v, D: Dataset> { visited: &'v im::HashSet<&'d D::Resource>, } -impl<'d, 'v, I: Interpretation, V: Vocabulary, D> LinkedDataPredicateObjects - for PredicateObjects<'d, 'v, D> +impl LinkedDataPredicateObjects + for PredicateObjects<'_, '_, D> where I::Resource: Eq + Hash + LinkedDataResource, D: PredicateTraversableDataset + PatternMatchingDataset, @@ -61,8 +61,8 @@ where } } -impl<'a, 'v, I: Interpretation, V: Vocabulary, D: Dataset> - LinkedDataResource for Object<'a, 'v, D> +impl> + LinkedDataResource for Object<'_, '_, D> where I::Resource: LinkedDataResource, { @@ -82,7 +82,7 @@ struct Object<'d, 'v, D: Dataset> { visited: &'v im::HashSet<&'d D::Resource>, } -impl<'d, 'v, I: Interpretation, V: Vocabulary, D> LinkedDataSubject for Object<'d, 'v, D> +impl LinkedDataSubject for Object<'_, '_, D> where I::Resource: Eq + Hash + LinkedDataResource, D: PredicateTraversableDataset + PatternMatchingDataset, @@ -161,7 +161,7 @@ impl<'d, 'v, D: PredicateTraversableDataset + PatternMatchingDataset> Subject<'d } } -impl<'d, 'v, I: Interpretation, V: Vocabulary, D> LinkedDataSubject for Subject<'d, 'v, D> +impl LinkedDataSubject for Subject<'_, '_, D> where D::Resource: Eq + Hash + LinkedDataResource, D: PredicateTraversableDataset + PatternMatchingDataset, diff --git a/src/impl/rdf_types/dataset_view.rs b/src/impl/rdf_types/dataset_view.rs index f91dfe8..0ea0613 100644 --- a/src/impl/rdf_types/dataset_view.rs +++ b/src/impl/rdf_types/dataset_view.rs @@ -11,7 +11,7 @@ use rdf_types::{ Dataset, Interpretation, Quad, Vocabulary, }; -impl<'a, I: Interpretation, V: Vocabulary, D> LinkedDataGraph for DatasetView<'a, D> +impl LinkedDataGraph for DatasetView<'_, D> where I::Resource: Eq + Hash + LinkedDataResource, D: SubjectTraversableDataset @@ -67,8 +67,8 @@ struct PredicateObjects<'d, 'v, D: Dataset> { visited_graphs: &'v im::HashSet<&'d D::Resource>, } -impl<'d, 'v, I: Interpretation, V: Vocabulary, D> LinkedDataPredicateObjects - for PredicateObjects<'d, 'v, D> +impl LinkedDataPredicateObjects + for PredicateObjects<'_, '_, D> where I::Resource: Eq + Hash + LinkedDataResource, D: SubjectTraversableDataset @@ -96,7 +96,7 @@ where } } -impl<'a, 'v, D, I: Interpretation, V: Vocabulary> LinkedDataResource for Object<'a, 'v, D> +impl LinkedDataResource for Object<'_, '_, D> where I::Resource: LinkedDataResource, D: Dataset, @@ -118,7 +118,7 @@ struct Object<'a, 'v, D: Dataset> { visited_graphs: &'v im::HashSet<&'a D::Resource>, } -impl<'a, 'v, I: Interpretation, V: Vocabulary, D> LinkedDataSubject for Object<'a, 'v, D> +impl LinkedDataSubject for Object<'_, '_, D> where I::Resource: Eq + Hash + LinkedDataResource, D: SubjectTraversableDataset @@ -225,7 +225,7 @@ where } } -impl<'a, 'v, I: Interpretation, V: Vocabulary, D> LinkedDataResource for Subject<'a, 'v, D> +impl LinkedDataResource for Subject<'_, '_, D> where I::Resource: LinkedDataResource, D: Dataset, @@ -239,7 +239,7 @@ where } } -impl<'a, 'v, I: Interpretation, V: Vocabulary, D> LinkedDataSubject for Subject<'a, 'v, D> +impl LinkedDataSubject for Subject<'_, '_, D> where I::Resource: Eq + Hash + LinkedDataResource, D: SubjectTraversableDataset @@ -277,8 +277,8 @@ struct NamedGraphView<'a, 'v, D: Dataset> { visited_graphs: &'v im::HashSet<&'a D::Resource>, } -impl<'a, 'v, I: Interpretation, V: Vocabulary, D> LinkedDataResource - for NamedGraphView<'a, 'v, D> +impl LinkedDataResource + for NamedGraphView<'_, '_, D> where I::Resource: LinkedDataResource, D: Dataset, @@ -292,8 +292,8 @@ where } } -impl<'a, 'v, I: Interpretation, V: Vocabulary, D> LinkedDataGraph - for NamedGraphView<'a, 'v, D> +impl LinkedDataGraph + for NamedGraphView<'_, '_, D> where I::Resource: Eq + Hash + LinkedDataResource, D: SubjectTraversableDataset diff --git a/src/lib.rs b/src/lib.rs index 5cb4f49..9183706 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -166,8 +166,8 @@ pub trait LinkedData { S: Visitor; } -impl<'a, I: Interpretation, V: Vocabulary, T: ?Sized + LinkedData> LinkedData - for &'a T +impl> LinkedData + for &T { fn visit(&self, visitor: S) -> Result where @@ -219,7 +219,7 @@ pub trait Visitor { } /// Any mutable reference to a visitor is itself a visitor. -impl<'s, I: Interpretation, V: Vocabulary, S: Visitor> Visitor for &'s mut S { +impl> Visitor for &mut S { type Ok = (); type Error = S::Error; @@ -250,7 +250,7 @@ pub enum ResourceOrIriRef<'a, I: Interpretation> { Anonymous, } -impl<'a, I: Interpretation> ResourceOrIriRef<'a, I> { +impl ResourceOrIriRef<'_, I> { pub fn into_iri(self, vocabulary: &V, interpretation: &I) -> Option where V: IriVocabulary, @@ -347,7 +347,7 @@ pub enum ContextIris { }, } -impl<'a, I: Interpretation> Default for Context<'a, I> { +impl Default for Context<'_, I> { fn default() -> Self { Self::Subject } diff --git a/src/predicate.rs b/src/predicate.rs index 1d401a8..03d8d68 100644 --- a/src/predicate.rs +++ b/src/predicate.rs @@ -29,8 +29,8 @@ impl LinkedDataPredicateObjects for () { } } -impl<'a, I: Interpretation, V: Vocabulary, T: ?Sized + LinkedDataPredicateObjects> - LinkedDataPredicateObjects for &'a T +impl> + LinkedDataPredicateObjects for &T { fn visit_objects(&self, visitor: S) -> Result where diff --git a/src/quads.rs b/src/quads.rs index 041163f..184f080 100644 --- a/src/quads.rs +++ b/src/quads.rs @@ -18,17 +18,19 @@ use crate::{ SubjectVisitor, Visitor, }; -pub fn to_interpreted_quads( +pub fn to_interpreted_quads( vocabulary: &mut V, interpretation: &mut I, value: &impl LinkedData, ) -> Result>, IntoQuadsError> where - I: InterpretationMut + TermInterpretationMut, - I::Resource: Clone, - V: IriVocabularyMut + LiteralVocabularyMut, + V: Vocabulary + IriVocabularyMut + LiteralVocabularyMut, V::Iri: Clone, V::BlankId: Clone, + I: Interpretation + + InterpretationMut + + TermInterpretationMut, + I::Resource: Clone, { value.visit(QuadSerializer { vocabulary, @@ -38,21 +40,22 @@ where }) } -pub fn to_interpreted_subject_quads( +pub fn to_interpreted_subject_quads( vocabulary: &mut V, interpretation: &mut I, graph: Option<&I::Resource>, value: &(impl LinkedDataSubject + LinkedDataResource), ) -> Result<(I::Resource, Vec>), IntoQuadsError> where - I: InterpretationMut + V: Vocabulary + IriVocabularyMut + LiteralVocabularyMut, + V::Iri: Clone, + V::BlankId: Clone, + I: Interpretation + + InterpretationMut + IriInterpretationMut + BlankIdInterpretationMut + LiteralInterpretationMut, I::Resource: Clone, - V: IriVocabularyMut + LiteralVocabularyMut, - V::Iri: Clone, - V::BlankId: Clone, { let mut result = Vec::new(); @@ -73,20 +76,21 @@ where Ok((subject, result)) } -pub fn to_interpreted_graph_quads( +pub fn to_interpreted_graph_quads( vocabulary: &mut V, interpretation: &mut I, value: &(impl LinkedDataGraph + LinkedDataResource), ) -> Result<(I::Resource, Vec>), IntoQuadsError> where - I: InterpretationMut + V: Vocabulary + IriVocabularyMut + LiteralVocabularyMut, + V::Iri: Clone, + V::BlankId: Clone, + I: Interpretation + + InterpretationMut + IriInterpretationMut + BlankIdInterpretationMut + LiteralInterpretationMut, I::Resource: Clone, - V: IriVocabularyMut + LiteralVocabularyMut, - V::Iri: Clone, - V::BlankId: Clone, { let mut result = Vec::new(); @@ -106,13 +110,15 @@ where Ok((graph, result)) } -pub fn to_lexical_quads_with( +pub fn to_lexical_quads_with( vocabulary: &mut V, interpretation: &mut I, value: &impl LinkedData, ) -> Result, IntoQuadsError> where - I: InterpretationMut + V: Vocabulary, + I: Interpretation + + InterpretationMut + ReverseTermInterpretation, { let mut domain = LexicalDomain; @@ -125,14 +131,16 @@ where }) } -pub fn to_lexical_subject_quads_with( +pub fn to_lexical_subject_quads_with( vocabulary: &mut V, interpretation: &mut I, graph: Option<&Id>, value: &(impl LinkedDataSubject + LinkedDataResource), ) -> Result<(Id, Vec), IntoQuadsError> where - I: InterpretationMut + V: Vocabulary, + I: Interpretation + + InterpretationMut + ReverseTermInterpretation, I::Resource: Clone, { @@ -171,16 +179,17 @@ pub fn to_lexical_subject_quads( to_lexical_subject_quads_with(&mut (), &mut interpretation, graph, value) } -pub fn to_quads_with, V: Vocabulary>( +pub fn to_quads_with( vocabulary: &mut V, interpretation: &mut I, value: &impl LinkedData, ) -> Result>, IntoQuadsError> where - V: IriVocabularyMut + LiteralVocabularyMut, + V: Vocabulary + IriVocabularyMut + LiteralVocabularyMut, V::BlankId: Clone, V::Iri: Clone, V::Literal: Clone, + I: InterpretationMut, I: ReverseTermInterpretation, { let mut domain = VocabularyDomain; @@ -331,7 +340,13 @@ where type Subject = RdfId; type Predicate = V::Iri; type Object = Term, V::Literal>; - type ObjectRef<'a> = Term<&'a RdfId, &'a V::Literal> where V::Iri: 'a, V::BlankId: 'a, V::Literal: 'a, I::Resource: 'a; + type ObjectRef<'a> + = Term<&'a RdfId, &'a V::Literal> + where + V::Iri: 'a, + V::BlankId: 'a, + V::Literal: 'a, + I::Resource: 'a; fn subject( &mut self, @@ -502,7 +517,13 @@ where type Subject = I::Resource; type Predicate = I::Resource; type Object = I::Resource; - type ObjectRef<'a> = &'a I::Resource where V::Iri: 'a, V::BlankId: 'a, V::Literal: 'a, I::Resource: 'a; + type ObjectRef<'a> + = &'a I::Resource + where + V::Iri: 'a, + V::BlankId: 'a, + V::Literal: 'a, + I::Resource: 'a; fn subject( &mut self, @@ -715,7 +736,13 @@ where type Subject = Id; type Predicate = IriBuf; type Object = Term; - type ObjectRef<'a> = Term<&'a Id, &'a rdf_types::Literal> where V::Iri: 'a, V::BlankId: 'a, V::Literal: 'a, I::Resource: 'a; + type ObjectRef<'a> + = Term<&'a Id, &'a rdf_types::Literal> + where + V::Iri: 'a, + V::BlankId: 'a, + V::Literal: 'a, + I::Resource: 'a; fn subject( &mut self, @@ -899,8 +926,8 @@ struct QuadSerializer<'a, I: Interpretation, V: Vocabulary, D: Domain> { result: Vec>, } -impl<'a, I: Interpretation, V: Vocabulary, D: Domain> Visitor - for QuadSerializer<'a, I, V, D> +impl> Visitor + for QuadSerializer<'_, I, V, D> { type Ok = Vec>; type Error = IntoQuadsError; @@ -951,8 +978,8 @@ struct QuadGraphSerializer<'a, I: Interpretation, V: Vocabulary, D: Domain graph: Option<&'a D::Subject>, } -impl<'a, I: Interpretation, V: Vocabulary, D: Domain> GraphVisitor - for QuadGraphSerializer<'a, I, V, D> +impl> GraphVisitor + for QuadGraphSerializer<'_, I, V, D> { type Ok = (); type Error = IntoQuadsError; @@ -1015,8 +1042,8 @@ impl<'a, I: Interpretation, V: Vocabulary, D: Domain> SubjectOrObject<'a, } } -impl<'a, I: Interpretation, V: Vocabulary, D: Domain> SubjectVisitor - for QuadPropertiesSerializer<'a, I, V, D> +impl> SubjectVisitor + for QuadPropertiesSerializer<'_, I, V, D> { type Ok = (); type Error = IntoQuadsError; @@ -1124,8 +1151,8 @@ struct ObjectsSerializer<'a, I: Interpretation, V: Vocabulary, D: Domain> predicate: D::Predicate, } -impl<'a, I: Interpretation, V: Vocabulary, D: Domain> PredicateObjectsVisitor - for ObjectsSerializer<'a, I, V, D> +impl> PredicateObjectsVisitor + for ObjectsSerializer<'_, I, V, D> { type Ok = (); type Error = IntoQuadsError; @@ -1172,8 +1199,8 @@ struct ReversePredicateSerializer<'a, I: Interpretation, V: Vocabulary, D: Domai predicate: D::Predicate, } -impl<'a, I: Interpretation, V: Vocabulary, D: Domain> PredicateObjectsVisitor - for ReversePredicateSerializer<'a, I, V, D> +impl> PredicateObjectsVisitor + for ReversePredicateSerializer<'_, I, V, D> { type Ok = (); type Error = IntoQuadsError; diff --git a/src/rdf.rs b/src/rdf.rs index 0e4f772..0863b7e 100644 --- a/src/rdf.rs +++ b/src/rdf.rs @@ -78,7 +78,7 @@ pub enum CowRef<'a, T> { Owned(T), } -impl<'a, T> AsRef for CowRef<'a, T> { +impl AsRef for CowRef<'_, T> { fn as_ref(&self) -> &T { match self { Self::Borrowed(t) => t, @@ -87,7 +87,7 @@ impl<'a, T> AsRef for CowRef<'a, T> { } } -impl<'a, T> Borrow for CowRef<'a, T> { +impl Borrow for CowRef<'_, T> { fn borrow(&self) -> &T { match self { Self::Borrowed(t) => t, @@ -150,7 +150,7 @@ pub trait AsRdfLiteral { &'a self, vocabulary: &V, ty: LiteralTypeRef<'a, V::Iri>, - ) -> CowRdfLiteral; + ) -> CowRdfLiteral<'a, V>; } impl AsRdfLiteral for str { @@ -158,7 +158,7 @@ impl AsRdfLiteral for str { &'a self, _vocabulary: &V, ty: LiteralTypeRef<'a, V::Iri>, - ) -> CowRdfLiteral { + ) -> CowRdfLiteral<'a, V> { CowRdfLiteral::Borrowed(RdfLiteralRef::Any(self, ty)) } } @@ -168,7 +168,7 @@ impl AsRdfLiteral for String { &'a self, vocabulary: &V, ty: LiteralTypeRef<'a, V::Iri>, - ) -> CowRdfLiteral { + ) -> CowRdfLiteral<'a, V> { self.as_str().as_rdf_literal(vocabulary, ty) } } @@ -255,7 +255,7 @@ pub enum RdfLiteralRef<'a, V: IriVocabulary = ()> { Json(&'a json_syntax::Value), } -impl<'a, V: IriVocabulary> RdfLiteralRef<'a, V> { +impl RdfLiteralRef<'_, V> { pub fn into_lexical(self, vocabulary: &V) -> rdf_types::Literal { match self { Self::Any(s, LiteralTypeRef::Any(ty)) => rdf_types::Literal::new( @@ -294,7 +294,7 @@ pub enum CowRdfLiteral<'a, V: IriVocabulary = ()> { Owned(RdfLiteral), } -impl<'a, V: IriVocabulary> CowRdfLiteral<'a, V> { +impl CowRdfLiteral<'_, V> { pub fn into_owned(self) -> RdfLiteral where V::Iri: Clone, diff --git a/src/resource.rs b/src/resource.rs index d741dff..09c8c6c 100644 --- a/src/resource.rs +++ b/src/resource.rs @@ -111,8 +111,8 @@ pub trait LinkedDataResource { } } -impl<'a, I: Interpretation, V: Vocabulary, T: ?Sized + LinkedDataResource> - LinkedDataResource for &'a T +impl> + LinkedDataResource for &T { fn interpretation( &self, diff --git a/src/subject.rs b/src/subject.rs index ed10871..1ad5efa 100644 --- a/src/subject.rs +++ b/src/subject.rs @@ -27,8 +27,8 @@ impl LinkedDataSubject for () { } } -impl<'a, I: Interpretation, V: Vocabulary, T: ?Sized + LinkedDataSubject> - LinkedDataSubject for &'a T +impl> + LinkedDataSubject for &T { fn visit_subject(&self, serializer: S) -> Result where @@ -128,8 +128,8 @@ pub trait SubjectVisitor { fn end(self) -> Result; } -impl<'s, I: Interpretation, V: Vocabulary, S: SubjectVisitor> SubjectVisitor - for &'s mut S +impl> SubjectVisitor + for &mut S { type Ok = (); type Error = S::Error; From 49c2ce069ce185a2577dfd9f4e83010b8d6697b6 Mon Sep 17 00:00:00 2001 From: Gordian Dziwis Date: Fri, 28 Mar 2025 18:51:52 +0100 Subject: [PATCH 02/15] Rename visit_graph to accept_graph_visitor --- derive/src/generate/ser/enum.rs | 12 ++++++------ derive/src/generate/ser/struct.rs | 2 +- src/anonymous.rs | 2 +- src/graph.rs | 24 ++++++++++++------------ src/impl/rdf_types/dataset_view.rs | 4 ++-- src/quads.rs | 8 ++++---- src/reference.rs | 2 +- 7 files changed, 27 insertions(+), 27 deletions(-) diff --git a/derive/src/generate/ser/enum.rs b/derive/src/generate/ser/enum.rs index 2c3d3d6..38f7734 100644 --- a/derive/src/generate/ser/enum.rs +++ b/derive/src/generate/ser/enum.rs @@ -234,7 +234,7 @@ pub fn generate( } impl #graph_impl_generics ::linked_data::LinkedDataGraph for #ident #ty_generics #graph_where_clauses { - fn visit_graph(&self, mut visitor: S_) -> Result + fn accept_graph_visitor(&self, mut visitor: S_) -> Result where S_: ::linked_data::GraphVisitor { @@ -564,7 +564,7 @@ fn variant_visit_graph( ::linked_data::AnonymousBinding( ::linked_data::iref::Iri::new(#iri).unwrap(), #id - ).visit_graph(visitor) + ).accept_graph_visitor(visitor) } } VariantShape::Compound(inner_ty) => { @@ -578,7 +578,7 @@ fn variant_visit_graph( ::linked_data::AnonymousBinding( ::linked_data::iref::Iri::new(#iri).unwrap(), &#inner_id #input - ).visit_graph(visitor) + ).accept_graph_visitor(visitor) } } VariantShape::Unit => { @@ -599,7 +599,7 @@ fn variant_visit_graph( ); quote! { - <#ty as ::linked_data::LinkedDataGraph>::visit_graph(#id, visitor) + <#ty as ::linked_data::LinkedDataGraph>::accept_graph_visitor(#id, visitor) } } VariantShape::Compound(inner_ty) => { @@ -610,7 +610,7 @@ fn variant_visit_graph( vocabulary_bounds.add(inner_ty.visit_vocabulary_bounds); quote! { - #inner_id #input .visit_graph(visitor) + #inner_id #input .accept_graph_visitor(visitor) } } VariantShape::Unit => { @@ -874,7 +874,7 @@ fn variant_subject_type( } impl #visit_impl_generics ::linked_data::LinkedDataGraph for #subject_id #ty_generics #visit_where_clauses { - fn visit_graph(&self, mut visitor: S_) -> Result + fn accept_graph_visitor(&self, mut visitor: S_) -> Result where S_: ::linked_data::GraphVisitor { diff --git a/derive/src/generate/ser/struct.rs b/derive/src/generate/ser/struct.rs index 9310527..7b915a8 100644 --- a/derive/src/generate/ser/struct.rs +++ b/derive/src/generate/ser/struct.rs @@ -106,7 +106,7 @@ pub fn generate( } impl #impl_generics ::linked_data::LinkedDataGraph for #ident #ty_generics #where_clause { - fn visit_graph(&self, mut visitor: S_) -> Result + fn accept_graph_visitor(&self, mut visitor: S_) -> Result where S_: ::linked_data::GraphVisitor { diff --git a/src/anonymous.rs b/src/anonymous.rs index 75122a9..7e16fa4 100644 --- a/src/anonymous.rs +++ b/src/anonymous.rs @@ -51,7 +51,7 @@ impl> LinkedDataGraph for AnonymousBinding<'_, T> { - fn visit_graph(&self, mut serializer: S) -> Result + fn accept_graph_visitor(&self, mut serializer: S) -> Result where S: GraphVisitor, { diff --git a/src/graph.rs b/src/graph.rs index 2d2f942..448bb5d 100644 --- a/src/graph.rs +++ b/src/graph.rs @@ -7,13 +7,13 @@ use crate::{LinkedData, LinkedDataPredicateObjects, LinkedDataResource, LinkedDa /// Serialize a Linked-Data graph. pub trait LinkedDataGraph { - fn visit_graph(&self, visitor: S) -> Result + fn accept_graph_visitor(&self, visitor: S) -> Result where S: GraphVisitor; } impl LinkedDataGraph for () { - fn visit_graph(&self, visitor: S) -> Result + fn accept_graph_visitor(&self, visitor: S) -> Result where S: GraphVisitor, { @@ -24,27 +24,27 @@ impl LinkedDataGraph for () { impl> LinkedDataGraph for &T { - fn visit_graph(&self, visitor: S) -> Result + fn accept_graph_visitor(&self, visitor: S) -> Result where S: GraphVisitor, { - T::visit_graph(self, visitor) + T::accept_graph_visitor(self, visitor) } } impl> LinkedDataGraph for Box { - fn visit_graph(&self, visitor: S) -> Result + fn accept_graph_visitor(&self, visitor: S) -> Result where S: GraphVisitor, { - T::visit_graph(self, visitor) + T::accept_graph_visitor(self, visitor) } } impl LinkedDataGraph for Iri { - fn visit_graph(&self, visitor: S) -> Result + fn accept_graph_visitor(&self, visitor: S) -> Result where S: GraphVisitor, { @@ -53,7 +53,7 @@ impl LinkedDataGraph for Iri { } impl LinkedDataGraph for IriBuf { - fn visit_graph(&self, visitor: S) -> Result + fn accept_graph_visitor(&self, visitor: S) -> Result where S: GraphVisitor, { @@ -64,7 +64,7 @@ impl LinkedDataGraph for IriBuf { impl + LinkedDataResource> LinkedDataGraph for [T] { - fn visit_graph(&self, mut visitor: S) -> Result + fn accept_graph_visitor(&self, mut visitor: S) -> Result where S: GraphVisitor, { @@ -78,7 +78,7 @@ impl + LinkedDataRe impl + LinkedDataResource> LinkedDataGraph for Vec { - fn visit_graph(&self, mut visitor: S) -> Result + fn accept_graph_visitor(&self, mut visitor: S) -> Result where S: GraphVisitor, { @@ -155,11 +155,11 @@ impl> LinkedDataPredi impl> LinkedDataGraph for AnonymousGraph { - fn visit_graph(&self, visitor: S) -> Result + fn accept_graph_visitor(&self, visitor: S) -> Result where S: GraphVisitor, { - T::visit_graph(&self.0, visitor) + T::accept_graph_visitor(&self.0, visitor) } } diff --git a/src/impl/rdf_types/dataset_view.rs b/src/impl/rdf_types/dataset_view.rs index 0ea0613..49eaf99 100644 --- a/src/impl/rdf_types/dataset_view.rs +++ b/src/impl/rdf_types/dataset_view.rs @@ -18,7 +18,7 @@ where + PredicateTraversableDataset + PatternMatchingDataset, { - fn visit_graph(&self, mut visitor: S) -> Result + fn accept_graph_visitor(&self, mut visitor: S) -> Result where S: GraphVisitor, { @@ -300,7 +300,7 @@ where + PredicateTraversableDataset + PatternMatchingDataset, { - fn visit_graph(&self, mut visitor: S) -> Result + fn accept_graph_visitor(&self, mut visitor: S) -> Result where S: GraphVisitor, { diff --git a/src/quads.rs b/src/quads.rs index 184f080..933ddc8 100644 --- a/src/quads.rs +++ b/src/quads.rs @@ -99,7 +99,7 @@ where ResourceInterpretation::Uninterpreted(_) => interpretation.new_resource(vocabulary), }; - value.visit_graph(QuadGraphSerializer { + value.accept_graph_visitor(QuadGraphSerializer { vocabulary, interpretation, domain: &mut InterpretationDomain, @@ -944,7 +944,7 @@ impl> Visitor graph: None, }; - value.visit_graph(graph_serializer) + value.accept_graph_visitor(graph_serializer) } fn named_graph(&mut self, value: &T) -> Result<(), Self::Error> @@ -962,7 +962,7 @@ impl> Visitor graph: Some(&graph), }; - value.visit_graph(graph_serializer) + value.accept_graph_visitor(graph_serializer) } fn end(self) -> Result { @@ -1112,7 +1112,7 @@ impl> SubjectVisitor graph: Some(graph), }; - value.visit_graph(graph_serializer) + value.accept_graph_visitor(graph_serializer) } fn include(&mut self, value: &T) -> Result<(), Self::Error> diff --git a/src/reference.rs b/src/reference.rs index a737c1c..dff904c 100644 --- a/src/reference.rs +++ b/src/reference.rs @@ -51,7 +51,7 @@ impl> LinkedDataPr impl> LinkedDataGraph for Ref { - fn visit_graph(&self, mut visitor: S) -> Result + fn accept_graph_visitor(&self, mut visitor: S) -> Result where S: crate::GraphVisitor, { From c503cf04affcb2b175f5fc28196a4528ab4e201a Mon Sep 17 00:00:00 2001 From: Gordian Dziwis Date: Fri, 28 Mar 2025 19:05:13 +0100 Subject: [PATCH 03/15] Rename visit_subject to accept_subject_visitor --- derive/src/generate/ser.rs | 2 +- derive/src/generate/ser/enum.rs | 8 ++++---- derive/src/generate/ser/struct.rs | 2 +- src/anonymous.rs | 2 +- src/datatypes/ser.rs | 6 +++--- src/graph.rs | 2 +- src/impl/rdf_types/dataset_graph_view.rs | 6 +++--- src/impl/rdf_types/dataset_view.rs | 4 ++-- src/macros.rs | 2 +- src/quads.rs | 12 +++++------ src/reference.rs | 2 +- src/subject.rs | 26 ++++++++++++------------ 12 files changed, 37 insertions(+), 37 deletions(-) diff --git a/derive/src/generate/ser.rs b/derive/src/generate/ser.rs index b743fa4..64568e5 100644 --- a/derive/src/generate/ser.rs +++ b/derive/src/generate/ser.rs @@ -68,7 +68,7 @@ fn variant_compound_fields( ); quote! { - <#ty as ::linked_data::LinkedDataSubject>::visit_subject(#field_ref, &mut visitor)?; + <#ty as ::linked_data::LinkedDataSubject>::accept_subject_visitor(#field_ref, &mut visitor)?; } } else { match field_attrs.iri { diff --git a/derive/src/generate/ser/enum.rs b/derive/src/generate/ser/enum.rs index 38f7734..83de3e4 100644 --- a/derive/src/generate/ser/enum.rs +++ b/derive/src/generate/ser/enum.rs @@ -212,7 +212,7 @@ pub fn generate( } impl #subject_impl_generics ::linked_data::LinkedDataSubject for #ident #ty_generics #subject_where_clauses { - fn visit_subject(&self, mut visitor: S_) -> Result + fn accept_subject_visitor(&self, mut visitor: S_) -> Result where S_: ::linked_data::SubjectVisitor { @@ -433,7 +433,7 @@ fn variant_visit_subject( ); quote! { - <#ty as ::linked_data::LinkedDataSubject>::visit_subject(#id, visitor) + <#ty as ::linked_data::LinkedDataSubject>::accept_subject_visitor(#id, visitor) } } VariantShape::Compound(inner_ty) => { @@ -444,7 +444,7 @@ fn variant_visit_subject( vocabulary_bounds.add(inner_ty.visit_vocabulary_bounds); quote! { - #inner_id #input .visit_subject(visitor) + #inner_id #input .accept_subject_visitor(visitor) } } VariantShape::Unit => { @@ -854,7 +854,7 @@ fn variant_subject_type( } impl #visit_impl_generics ::linked_data::LinkedDataSubject for #subject_id #ty_generics #visit_where_clauses { - fn visit_subject(&self, mut visitor: S_) -> Result + fn accept_subject_visitor(&self, mut visitor: S_) -> Result where S_: ::linked_data::SubjectVisitor { diff --git a/derive/src/generate/ser/struct.rs b/derive/src/generate/ser/struct.rs index 7b915a8..bc87b20 100644 --- a/derive/src/generate/ser/struct.rs +++ b/derive/src/generate/ser/struct.rs @@ -86,7 +86,7 @@ pub fn generate( } impl #impl_generics ::linked_data::LinkedDataSubject for #ident #ty_generics #where_clause { - fn visit_subject(&self, mut visitor: S_) -> Result + fn accept_subject_visitor(&self, mut visitor: S_) -> Result where S_: ::linked_data::SubjectVisitor { diff --git a/src/anonymous.rs b/src/anonymous.rs index 7e16fa4..16c5011 100644 --- a/src/anonymous.rs +++ b/src/anonymous.rs @@ -27,7 +27,7 @@ impl LinkedDataResource for Anonymous impl> LinkedDataSubject for AnonymousBinding<'_, T> { - fn visit_subject(&self, mut serializer: S) -> Result + fn accept_subject_visitor(&self, mut serializer: S) -> Result where S: SubjectVisitor, { diff --git a/src/datatypes/ser.rs b/src/datatypes/ser.rs index 94df846..9173e77 100644 --- a/src/datatypes/ser.rs +++ b/src/datatypes/ser.rs @@ -24,7 +24,7 @@ macro_rules! datatype { } impl LinkedDataSubject for $ty { - fn visit_subject(&self, visitor: S) -> Result + fn accept_subject_visitor(&self, visitor: S) -> Result where S: crate::SubjectVisitor { @@ -61,7 +61,7 @@ macro_rules! unsized_datatype { } impl LinkedDataSubject for $ty { - fn visit_subject(&self, visitor: S) -> Result + fn accept_subject_visitor(&self, visitor: S) -> Result where S: crate::SubjectVisitor { @@ -126,7 +126,7 @@ impl impl LinkedDataSubject for xsd_types::AnyUriBuf { - fn visit_subject(&self, visitor: S) -> Result + fn accept_subject_visitor(&self, visitor: S) -> Result where S: crate::SubjectVisitor, { diff --git a/src/graph.rs b/src/graph.rs index 448bb5d..58b915d 100644 --- a/src/graph.rs +++ b/src/graph.rs @@ -131,7 +131,7 @@ impl LinkedDataResource for Anonymous impl> LinkedDataSubject for AnonymousGraph { - fn visit_subject(&self, mut serializer: S) -> Result + fn accept_subject_visitor(&self, mut serializer: S) -> Result where S: crate::SubjectVisitor, { diff --git a/src/impl/rdf_types/dataset_graph_view.rs b/src/impl/rdf_types/dataset_graph_view.rs index 939e79c..a041488 100644 --- a/src/impl/rdf_types/dataset_graph_view.rs +++ b/src/impl/rdf_types/dataset_graph_view.rs @@ -14,7 +14,7 @@ where I::Resource: Eq + Hash + LinkedDataResource, D: PredicateTraversableDataset + PatternMatchingDataset, { - fn visit_subject(&self, mut serializer: S) -> Result + fn accept_subject_visitor(&self, mut serializer: S) -> Result where S: SubjectVisitor, { @@ -87,7 +87,7 @@ where I::Resource: Eq + Hash + LinkedDataResource, D: PredicateTraversableDataset + PatternMatchingDataset, { - fn visit_subject(&self, mut visitor: S) -> Result + fn accept_subject_visitor(&self, mut visitor: S) -> Result where S: SubjectVisitor, { @@ -166,7 +166,7 @@ where D::Resource: Eq + Hash + LinkedDataResource, D: PredicateTraversableDataset + PatternMatchingDataset, { - fn visit_subject(&self, mut visitor: S) -> Result + fn accept_subject_visitor(&self, mut visitor: S) -> Result where S: SubjectVisitor, { diff --git a/src/impl/rdf_types/dataset_view.rs b/src/impl/rdf_types/dataset_view.rs index 49eaf99..8d35175 100644 --- a/src/impl/rdf_types/dataset_view.rs +++ b/src/impl/rdf_types/dataset_view.rs @@ -125,7 +125,7 @@ where + PredicateTraversableDataset + PatternMatchingDataset, { - fn visit_subject(&self, mut visitor: S) -> Result + fn accept_subject_visitor(&self, mut visitor: S) -> Result where S: SubjectVisitor, { @@ -246,7 +246,7 @@ where + PredicateTraversableDataset + PatternMatchingDataset, { - fn visit_subject(&self, mut visitor: S) -> Result + fn accept_subject_visitor(&self, mut visitor: S) -> Result where S: SubjectVisitor, { diff --git a/src/macros.rs b/src/macros.rs index a411679..0b568c8 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -66,7 +66,7 @@ macro_rules! json_literal { } impl $crate::LinkedDataSubject for $ty { - fn visit_subject(&self, visitor: S) -> Result + fn accept_subject_visitor(&self, visitor: S) -> Result where S: $crate::SubjectVisitor, { diff --git a/src/quads.rs b/src/quads.rs index 933ddc8..ddbce60 100644 --- a/src/quads.rs +++ b/src/quads.rs @@ -64,7 +64,7 @@ where ResourceInterpretation::Uninterpreted(_) => interpretation.new_resource(vocabulary), }; - value.visit_subject(QuadPropertiesSerializer { + value.accept_subject_visitor(QuadPropertiesSerializer { vocabulary, interpretation, domain: &mut InterpretationDomain, @@ -149,7 +149,7 @@ where let i = value.interpretation(vocabulary, interpretation); let subject = LexicalDomain.subject(vocabulary, interpretation, i)?; - value.visit_subject(QuadPropertiesSerializer { + value.accept_subject_visitor(QuadPropertiesSerializer { vocabulary, interpretation, domain: &mut LexicalDomain, @@ -1002,7 +1002,7 @@ impl> GraphVisitor subject: SubjectOrObject::Subject(&term), }; - value.visit_subject(properties_serializer) + value.accept_subject_visitor(properties_serializer) } fn end(self) -> Result { @@ -1124,7 +1124,7 @@ impl> SubjectVisitor .domain .subject(self.vocabulary, self.interpretation, i)?; - value.visit_subject(QuadPropertiesSerializer { + value.accept_subject_visitor(QuadPropertiesSerializer { vocabulary: self.vocabulary, interpretation: self.interpretation, domain: self.domain, @@ -1174,7 +1174,7 @@ impl> PredicateObjectsVisitor< subject: SubjectOrObject::Object(&term), }; - value.visit_subject(subject_serializer)?; + value.accept_subject_visitor(subject_serializer)?; self.result.push(Quad( self.subject.clone(), self.predicate.clone(), @@ -1223,7 +1223,7 @@ impl> PredicateObjectsVisitor< subject: SubjectOrObject::Subject(&subject), }; - value.visit_subject(subject_serializer)?; + value.accept_subject_visitor(subject_serializer)?; self.result.push(Quad( subject, self.predicate.clone(), diff --git a/src/reference.rs b/src/reference.rs index dff904c..f9132a7 100644 --- a/src/reference.rs +++ b/src/reference.rs @@ -28,7 +28,7 @@ impl> LinkedDataRe } impl LinkedDataSubject for Ref { - fn visit_subject(&self, serializer: S) -> Result + fn accept_subject_visitor(&self, serializer: S) -> Result where S: crate::SubjectVisitor, { diff --git a/src/subject.rs b/src/subject.rs index 1ad5efa..728ceff 100644 --- a/src/subject.rs +++ b/src/subject.rs @@ -13,13 +13,13 @@ use crate::{ /// Serialize a Linked-Data node. pub trait LinkedDataSubject { - fn visit_subject(&self, serializer: S) -> Result + fn accept_subject_visitor(&self, serializer: S) -> Result where S: SubjectVisitor; } impl LinkedDataSubject for () { - fn visit_subject(&self, serializer: S) -> Result + fn accept_subject_visitor(&self, serializer: S) -> Result where S: SubjectVisitor, { @@ -30,27 +30,27 @@ impl LinkedDataSubject for () { impl> LinkedDataSubject for &T { - fn visit_subject(&self, serializer: S) -> Result + fn accept_subject_visitor(&self, serializer: S) -> Result where S: SubjectVisitor, { - T::visit_subject(self, serializer) + T::accept_subject_visitor(self, serializer) } } impl> LinkedDataSubject for Box { - fn visit_subject(&self, serializer: S) -> Result + fn accept_subject_visitor(&self, serializer: S) -> Result where S: SubjectVisitor, { - T::visit_subject(self, serializer) + T::accept_subject_visitor(self, serializer) } } impl LinkedDataSubject for Iri { - fn visit_subject(&self, serializer: S) -> Result + fn accept_subject_visitor(&self, serializer: S) -> Result where S: SubjectVisitor, { @@ -59,7 +59,7 @@ impl LinkedDataSubject for Iri { } impl LinkedDataSubject for IriBuf { - fn visit_subject(&self, serializer: S) -> Result + fn accept_subject_visitor(&self, serializer: S) -> Result where S: SubjectVisitor, { @@ -68,7 +68,7 @@ impl LinkedDataSubject for IriBuf { } impl LinkedDataSubject for BlankId { - fn visit_subject(&self, serializer: S) -> Result + fn accept_subject_visitor(&self, serializer: S) -> Result where S: SubjectVisitor, { @@ -77,7 +77,7 @@ impl LinkedDataSubject for BlankId { } impl LinkedDataSubject for BlankIdBuf { - fn visit_subject(&self, serializer: S) -> Result + fn accept_subject_visitor(&self, serializer: S) -> Result where S: SubjectVisitor, { @@ -90,13 +90,13 @@ where T: LinkedDataSubject, B: LinkedDataSubject, { - fn visit_subject(&self, serializer: S) -> Result + fn accept_subject_visitor(&self, serializer: S) -> Result where S: SubjectVisitor, { match self { - Self::Iri(i) => i.visit_subject(serializer), - Self::Blank(b) => b.visit_subject(serializer), + Self::Iri(i) => i.accept_subject_visitor(serializer), + Self::Blank(b) => b.accept_subject_visitor(serializer), } } } From eda0be9b374a5ee0d42dd0918e7a54613d7d9d2b Mon Sep 17 00:00:00 2001 From: Gordian Dziwis Date: Fri, 28 Mar 2025 19:17:36 +0100 Subject: [PATCH 04/15] Rename visit_objects to accept_objects_visitor --- derive/src/generate/ser/enum.rs | 12 ++++----- derive/src/generate/ser/struct.rs | 2 +- src/anonymous.rs | 2 +- src/datatypes/ser.rs | 6 ++--- src/graph.rs | 2 +- src/impl/rdf_types/dataset_graph_view.rs | 2 +- src/impl/rdf_types/dataset_view.rs | 2 +- src/macros.rs | 2 +- src/predicate.rs | 32 ++++++++++++------------ src/quads.rs | 4 +-- src/reference.rs | 2 +- 11 files changed, 34 insertions(+), 34 deletions(-) diff --git a/derive/src/generate/ser/enum.rs b/derive/src/generate/ser/enum.rs index 83de3e4..4994cb2 100644 --- a/derive/src/generate/ser/enum.rs +++ b/derive/src/generate/ser/enum.rs @@ -223,7 +223,7 @@ pub fn generate( } impl #predicate_impl_generics ::linked_data::LinkedDataPredicateObjects for #ident #ty_generics #predicate_where_clauses { - fn visit_objects(&self, mut visitor: S_) -> Result + fn accept_objects_visitor(&self, mut visitor: S_) -> Result where S_: ::linked_data::PredicateObjectsVisitor { @@ -481,7 +481,7 @@ fn variant_visit_predicate( ::linked_data::AnonymousBinding( ::linked_data::iref::Iri::new(#iri).unwrap(), #id - ).visit_objects(visitor) + ).accept_objects_visitor(visitor) } } VariantShape::Compound(inner_ty) => { @@ -495,7 +495,7 @@ fn variant_visit_predicate( ::linked_data::AnonymousBinding( ::linked_data::iref::Iri::new(#iri).unwrap(), &#inner_id #input - ).visit_objects(visitor) + ).accept_objects_visitor(visitor) } } VariantShape::Unit => { @@ -516,7 +516,7 @@ fn variant_visit_predicate( ); quote! { - <#ty as ::linked_data::LinkedDataPredicateObjects>::visit_objects(#id, visitor) + <#ty as ::linked_data::LinkedDataPredicateObjects>::accept_objects_visitor(#id, visitor) } } VariantShape::Compound(inner_ty) => { @@ -527,7 +527,7 @@ fn variant_visit_predicate( vocabulary_bounds.add(inner_ty.visit_vocabulary_bounds); quote! { - #inner_id #input .visit_objects(visitor) + #inner_id #input .accept_objects_visitor(visitor) } } VariantShape::Unit => { @@ -864,7 +864,7 @@ fn variant_subject_type( } impl #visit_impl_generics ::linked_data::LinkedDataPredicateObjects for #subject_id #ty_generics #visit_where_clauses { - fn visit_objects(&self, mut visitor: S_) -> Result + fn accept_objects_visitor(&self, mut visitor: S_) -> Result where S_: ::linked_data::PredicateObjectsVisitor { diff --git a/derive/src/generate/ser/struct.rs b/derive/src/generate/ser/struct.rs index bc87b20..cca0ae6 100644 --- a/derive/src/generate/ser/struct.rs +++ b/derive/src/generate/ser/struct.rs @@ -96,7 +96,7 @@ pub fn generate( } impl #impl_generics ::linked_data::LinkedDataPredicateObjects for #ident #ty_generics #where_clause { - fn visit_objects(&self, mut visitor: S_) -> Result + fn accept_objects_visitor(&self, mut visitor: S_) -> Result where S_: ::linked_data::PredicateObjectsVisitor { diff --git a/src/anonymous.rs b/src/anonymous.rs index 16c5011..1622bac 100644 --- a/src/anonymous.rs +++ b/src/anonymous.rs @@ -39,7 +39,7 @@ impl> LinkedDataPredicateObjects for AnonymousBinding<'_, T> { - fn visit_objects(&self, mut serializer: S) -> Result + fn accept_objects_visitor(&self, mut serializer: S) -> Result where S: PredicateObjectsVisitor, { diff --git a/src/datatypes/ser.rs b/src/datatypes/ser.rs index 9173e77..9230103 100644 --- a/src/datatypes/ser.rs +++ b/src/datatypes/ser.rs @@ -33,7 +33,7 @@ macro_rules! datatype { } impl LinkedDataPredicateObjects for $ty { - fn visit_objects(&self, mut visitor: S) -> Result + fn accept_objects_visitor(&self, mut visitor: S) -> Result where S: PredicateObjectsVisitor, { @@ -70,7 +70,7 @@ macro_rules! unsized_datatype { } impl LinkedDataPredicateObjects for $ty { - fn visit_objects(&self, mut visitor: S) -> Result + fn accept_objects_visitor(&self, mut visitor: S) -> Result where S: PredicateObjectsVisitor, { @@ -137,7 +137,7 @@ impl impl LinkedDataPredicateObjects for xsd_types::AnyUriBuf { - fn visit_objects(&self, mut visitor: S) -> Result + fn accept_objects_visitor(&self, mut visitor: S) -> Result where S: PredicateObjectsVisitor, { diff --git a/src/graph.rs b/src/graph.rs index 58b915d..e2e3088 100644 --- a/src/graph.rs +++ b/src/graph.rs @@ -143,7 +143,7 @@ impl> LinkedDataSubje impl> LinkedDataPredicateObjects for AnonymousGraph { - fn visit_objects(&self, mut visitor: S) -> Result + fn accept_objects_visitor(&self, mut visitor: S) -> Result where S: crate::PredicateObjectsVisitor, { diff --git a/src/impl/rdf_types/dataset_graph_view.rs b/src/impl/rdf_types/dataset_graph_view.rs index a041488..30f420b 100644 --- a/src/impl/rdf_types/dataset_graph_view.rs +++ b/src/impl/rdf_types/dataset_graph_view.rs @@ -41,7 +41,7 @@ where I::Resource: Eq + Hash + LinkedDataResource, D: PredicateTraversableDataset + PatternMatchingDataset, { - fn visit_objects(&self, mut visitor: S) -> Result + fn accept_objects_visitor(&self, mut visitor: S) -> Result where S: PredicateObjectsVisitor, { diff --git a/src/impl/rdf_types/dataset_view.rs b/src/impl/rdf_types/dataset_view.rs index 8d35175..54b2c61 100644 --- a/src/impl/rdf_types/dataset_view.rs +++ b/src/impl/rdf_types/dataset_view.rs @@ -75,7 +75,7 @@ where + PredicateTraversableDataset + PatternMatchingDataset, { - fn visit_objects(&self, mut visitor: S) -> Result + fn accept_objects_visitor(&self, mut visitor: S) -> Result where S: PredicateObjectsVisitor, { diff --git a/src/macros.rs b/src/macros.rs index 0b568c8..7f28f4a 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -19,7 +19,7 @@ macro_rules! json_literal { } impl $crate::LinkedDataPredicateObjects for $ty { - fn visit_objects(&self, mut visitor: S) -> Result + fn accept_objects_visitor(&self, mut visitor: S) -> Result where S: $crate::PredicateObjectsVisitor, { diff --git a/src/predicate.rs b/src/predicate.rs index 03d8d68..a58aed0 100644 --- a/src/predicate.rs +++ b/src/predicate.rs @@ -15,13 +15,13 @@ use crate::{ /// Type representing the objects of an RDF subject's predicate binding. pub trait LinkedDataPredicateObjects { - fn visit_objects(&self, visitor: S) -> Result + fn accept_objects_visitor(&self, visitor: S) -> Result where S: PredicateObjectsVisitor; } impl LinkedDataPredicateObjects for () { - fn visit_objects(&self, visitor: S) -> Result + fn accept_objects_visitor(&self, visitor: S) -> Result where S: PredicateObjectsVisitor, { @@ -32,29 +32,29 @@ impl LinkedDataPredicateObjects for () { impl> LinkedDataPredicateObjects for &T { - fn visit_objects(&self, visitor: S) -> Result + fn accept_objects_visitor(&self, visitor: S) -> Result where S: PredicateObjectsVisitor, { - T::visit_objects(self, visitor) + T::accept_objects_visitor(self, visitor) } } impl> LinkedDataPredicateObjects for Box { - fn visit_objects(&self, visitor: S) -> Result + fn accept_objects_visitor(&self, visitor: S) -> Result where S: PredicateObjectsVisitor, { - T::visit_objects(self, visitor) + T::accept_objects_visitor(self, visitor) } } impl + LinkedDataResource> LinkedDataPredicateObjects for Option { - fn visit_objects(&self, mut visitor: S) -> Result + fn accept_objects_visitor(&self, mut visitor: S) -> Result where S: PredicateObjectsVisitor, { @@ -69,7 +69,7 @@ impl + LinkedDataRe impl + LinkedDataResource> LinkedDataPredicateObjects for [T] { - fn visit_objects(&self, mut visitor: S) -> Result + fn accept_objects_visitor(&self, mut visitor: S) -> Result where S: PredicateObjectsVisitor, { @@ -84,7 +84,7 @@ impl + LinkedDataRe impl + LinkedDataResource> LinkedDataPredicateObjects for Vec { - fn visit_objects(&self, mut visitor: S) -> Result + fn accept_objects_visitor(&self, mut visitor: S) -> Result where S: PredicateObjectsVisitor, { @@ -100,7 +100,7 @@ impl LinkedDataPredicateObjects for Iri where V: IriVocabularyMut, { - fn visit_objects(&self, mut visitor: S) -> Result + fn accept_objects_visitor(&self, mut visitor: S) -> Result where S: PredicateObjectsVisitor, { @@ -113,7 +113,7 @@ impl LinkedDataPredicateObjects for IriB where V: IriVocabularyMut, { - fn visit_objects(&self, mut visitor: S) -> Result + fn accept_objects_visitor(&self, mut visitor: S) -> Result where S: PredicateObjectsVisitor, { @@ -126,7 +126,7 @@ impl LinkedDataPredicateObjects for Blan where V: BlankIdVocabularyMut, { - fn visit_objects(&self, mut visitor: S) -> Result + fn accept_objects_visitor(&self, mut visitor: S) -> Result where S: PredicateObjectsVisitor, { @@ -139,7 +139,7 @@ impl LinkedDataPredicateObjects for Blan where V: BlankIdVocabularyMut, { - fn visit_objects(&self, mut visitor: S) -> Result + fn accept_objects_visitor(&self, mut visitor: S) -> Result where S: PredicateObjectsVisitor, { @@ -153,13 +153,13 @@ where T: LinkedDataPredicateObjects, B: LinkedDataPredicateObjects, { - fn visit_objects(&self, visitor: S) -> Result + fn accept_objects_visitor(&self, visitor: S) -> Result where S: PredicateObjectsVisitor, { match self { - Self::Iri(i) => i.visit_objects(visitor), - Self::Blank(b) => b.visit_objects(visitor), + Self::Iri(i) => i.accept_objects_visitor(visitor), + Self::Blank(b) => b.accept_objects_visitor(visitor), } } } diff --git a/src/quads.rs b/src/quads.rs index ddbce60..010b140 100644 --- a/src/quads.rs +++ b/src/quads.rs @@ -1070,7 +1070,7 @@ impl> SubjectVisitor predicate: term, }; - value.visit_objects(objects_serializer) + value.accept_objects_visitor(objects_serializer) } fn reverse_predicate(&mut self, predicate: &L, subjects: &T) -> Result<(), Self::Error> @@ -1095,7 +1095,7 @@ impl> SubjectVisitor predicate: term, }; - subjects.visit_objects(subjects_serializer) + subjects.accept_objects_visitor(subjects_serializer) } fn graph(&mut self, value: &T) -> Result<(), Self::Error> diff --git a/src/reference.rs b/src/reference.rs index f9132a7..5da4038 100644 --- a/src/reference.rs +++ b/src/reference.rs @@ -39,7 +39,7 @@ impl LinkedDataSubject for Ref { impl> LinkedDataPredicateObjects for Ref { - fn visit_objects(&self, mut visitor: S) -> Result + fn accept_objects_visitor(&self, mut visitor: S) -> Result where S: crate::PredicateObjectsVisitor, { From 1bc62fba306826991dfd5152dab9ca4aaa7abb10 Mon Sep 17 00:00:00 2001 From: Gordian Dziwis Date: Fri, 28 Mar 2025 19:25:30 +0100 Subject: [PATCH 05/15] Rename visit to accept_visitor --- derive/src/generate/ser/enum.rs | 12 ++++++------ derive/src/generate/ser/struct.rs | 2 +- src/anonymous.rs | 2 +- src/graph.rs | 2 +- src/lib.rs | 12 ++++++------ src/quads.rs | 6 +++--- src/reference.rs | 2 +- 7 files changed, 19 insertions(+), 19 deletions(-) diff --git a/derive/src/generate/ser/enum.rs b/derive/src/generate/ser/enum.rs index 4994cb2..0636b9b 100644 --- a/derive/src/generate/ser/enum.rs +++ b/derive/src/generate/ser/enum.rs @@ -245,7 +245,7 @@ pub fn generate( } impl #dataset_impl_generics ::linked_data::LinkedData for #ident #ty_generics #dataset_where_clauses { - fn visit(&self, mut visitor: S_) -> Result + fn accept_visitor(&self, mut visitor: S_) -> Result where S_: ::linked_data::Visitor { @@ -647,7 +647,7 @@ fn variant_serialize( ::linked_data::AnonymousBinding( ::linked_data::iref::Iri::new(#iri).unwrap(), #id - ).visit(visitor) + ).accept_visitor(visitor) } } VariantShape::Compound(inner_ty) => { @@ -661,7 +661,7 @@ fn variant_serialize( ::linked_data::AnonymousBinding( ::linked_data::iref::Iri::new(#iri).unwrap(), &#inner_id #input - ).visit(visitor) + ).accept_visitor(visitor) } } VariantShape::Unit => { @@ -682,7 +682,7 @@ fn variant_serialize( ); quote! { - <#ty as ::linked_data::LinkedData>::visit(#id, visitor) + <#ty as ::linked_data::LinkedData>::accept_visitor(#id, visitor) } } VariantShape::Compound(inner_ty) => { @@ -693,7 +693,7 @@ fn variant_serialize( vocabulary_bounds.add(inner_ty.visit_vocabulary_bounds); quote! { - #inner_id #input .visit(visitor) + #inner_id #input .accept_visitor(visitor) } } VariantShape::Unit => { @@ -884,7 +884,7 @@ fn variant_subject_type( } impl #visit_impl_generics ::linked_data::LinkedData for #subject_id #ty_generics #visit_where_clauses { - fn visit(&self, mut visitor: S_) -> Result + fn accept_visitor(&self, mut visitor: S_) -> Result where S_: ::linked_data::Visitor { diff --git a/derive/src/generate/ser/struct.rs b/derive/src/generate/ser/struct.rs index cca0ae6..7ff12a6 100644 --- a/derive/src/generate/ser/struct.rs +++ b/derive/src/generate/ser/struct.rs @@ -116,7 +116,7 @@ pub fn generate( } impl #impl_generics ::linked_data::LinkedData for #ident #ty_generics #where_clause { - fn visit(&self, mut visitor: S_) -> Result + fn accept_visitor(&self, mut visitor: S_) -> Result where S_: ::linked_data::Visitor { diff --git a/src/anonymous.rs b/src/anonymous.rs index 1622bac..c190890 100644 --- a/src/anonymous.rs +++ b/src/anonymous.rs @@ -63,7 +63,7 @@ impl> LinkedData for AnonymousBinding<'_, T> { - fn visit(&self, mut serializer: S) -> Result + fn accept_visitor(&self, mut serializer: S) -> Result where S: Visitor, { diff --git a/src/graph.rs b/src/graph.rs index e2e3088..6551d1e 100644 --- a/src/graph.rs +++ b/src/graph.rs @@ -166,7 +166,7 @@ impl> LinkedDataGraph impl> LinkedData for AnonymousGraph { - fn visit(&self, mut visitor: S) -> Result + fn accept_visitor(&self, mut visitor: S) -> Result where S: crate::Visitor, { diff --git a/src/lib.rs b/src/lib.rs index 9183706..d2fae70 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -161,7 +161,7 @@ impl FromLinkedDataError { /// [`visit`](Self::visit) method. pub trait LinkedData { /// Visit the RDF dataset represented by this type. - fn visit(&self, visitor: S) -> Result + fn accept_visitor(&self, visitor: S) -> Result where S: Visitor; } @@ -169,25 +169,25 @@ pub trait LinkedData { impl> LinkedData for &T { - fn visit(&self, visitor: S) -> Result + fn accept_visitor(&self, visitor: S) -> Result where S: Visitor, { - T::visit(self, visitor) + T::accept_visitor(self, visitor) } } impl> LinkedData for Box { - fn visit(&self, visitor: S) -> Result + fn accept_visitor(&self, visitor: S) -> Result where S: Visitor, { - T::visit(self, visitor) + T::accept_visitor(self, visitor) } } impl LinkedData for Iri { - fn visit(&self, visitor: S) -> Result + fn accept_visitor(&self, visitor: S) -> Result where S: Visitor, { diff --git a/src/quads.rs b/src/quads.rs index 010b140..7b5849b 100644 --- a/src/quads.rs +++ b/src/quads.rs @@ -32,7 +32,7 @@ where + TermInterpretationMut, I::Resource: Clone, { - value.visit(QuadSerializer { + value.accept_visitor(QuadSerializer { vocabulary, interpretation, domain: &mut InterpretationDomain, @@ -123,7 +123,7 @@ where { let mut domain = LexicalDomain; - value.visit(QuadSerializer { + value.accept_visitor(QuadSerializer { vocabulary, interpretation, domain: &mut domain, @@ -194,7 +194,7 @@ where { let mut domain = VocabularyDomain; - value.visit(QuadSerializer { + value.accept_visitor(QuadSerializer { vocabulary, interpretation, domain: &mut domain, diff --git a/src/reference.rs b/src/reference.rs index 5da4038..eb5a6bb 100644 --- a/src/reference.rs +++ b/src/reference.rs @@ -61,7 +61,7 @@ impl> LinkedDataGr } impl> LinkedData for Ref { - fn visit(&self, mut visitor: S) -> Result + fn accept_visitor(&self, mut visitor: S) -> Result where S: crate::Visitor, { From 7d66c09a88bda90c0eea8b4aaa6f99588eeb67ea Mon Sep 17 00:00:00 2001 From: Gordian Dziwis Date: Fri, 28 Mar 2025 19:32:44 +0100 Subject: [PATCH 06/15] Rename default_graph to visit_default_graph --- derive/src/generate/ser/enum.rs | 4 ++-- derive/src/generate/ser/struct.rs | 2 +- src/anonymous.rs | 2 +- src/lib.rs | 6 +++--- src/quads.rs | 2 +- src/reference.rs | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/derive/src/generate/ser/enum.rs b/derive/src/generate/ser/enum.rs index 0636b9b..658b0d4 100644 --- a/derive/src/generate/ser/enum.rs +++ b/derive/src/generate/ser/enum.rs @@ -666,7 +666,7 @@ fn variant_serialize( } VariantShape::Unit => { quote! { - visitor.default_graph(::linked_data::iref::Iri::new(#iri).unwrap())?; + visitor.visit_default_graph(::linked_data::iref::Iri::new(#iri).unwrap())?; visitor.end() } } @@ -888,7 +888,7 @@ fn variant_subject_type( where S_: ::linked_data::Visitor { - visitor.default_graph(self)?; + visitor.visit_default_graph(self)?; visitor.end() } } diff --git a/derive/src/generate/ser/struct.rs b/derive/src/generate/ser/struct.rs index 7ff12a6..33d089c 100644 --- a/derive/src/generate/ser/struct.rs +++ b/derive/src/generate/ser/struct.rs @@ -120,7 +120,7 @@ pub fn generate( where S_: ::linked_data::Visitor { - visitor.default_graph(self)?; + visitor.visit_default_graph(self)?; visitor.end() } } diff --git a/src/anonymous.rs b/src/anonymous.rs index c190890..7871206 100644 --- a/src/anonymous.rs +++ b/src/anonymous.rs @@ -67,7 +67,7 @@ impl, { - serializer.default_graph(self)?; + serializer.visit_default_graph(self)?; serializer.end() } } diff --git a/src/lib.rs b/src/lib.rs index d2fae70..768bde7 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -205,7 +205,7 @@ pub trait Visitor { type Error; /// Visits the default graph of the dataset. - fn default_graph(&mut self, value: &T) -> Result<(), Self::Error> + fn visit_default_graph(&mut self, value: &T) -> Result<(), Self::Error> where T: ?Sized + LinkedDataGraph; @@ -223,11 +223,11 @@ impl> Visitor for &mut type Ok = (); type Error = S::Error; - fn default_graph(&mut self, value: &T) -> Result<(), Self::Error> + fn visit_default_graph(&mut self, value: &T) -> Result<(), Self::Error> where T: ?Sized + LinkedDataGraph, { - S::default_graph(self, value) + S::visit_default_graph(self, value) } fn named_graph(&mut self, value: &T) -> Result<(), Self::Error> diff --git a/src/quads.rs b/src/quads.rs index 7b5849b..80a8c1c 100644 --- a/src/quads.rs +++ b/src/quads.rs @@ -932,7 +932,7 @@ impl> Visitor type Ok = Vec>; type Error = IntoQuadsError; - fn default_graph(&mut self, value: &T) -> Result<(), Self::Error> + fn visit_default_graph(&mut self, value: &T) -> Result<(), Self::Error> where T: ?Sized + crate::LinkedDataGraph, { diff --git a/src/reference.rs b/src/reference.rs index eb5a6bb..5053a11 100644 --- a/src/reference.rs +++ b/src/reference.rs @@ -65,7 +65,7 @@ impl> LinkedData, { - visitor.default_graph(self)?; + visitor.visit_default_graph(self)?; visitor.end() } } From f8e2b3b9d22b79b03c34c86425007919a882eb4e Mon Sep 17 00:00:00 2001 From: Gordian Dziwis Date: Fri, 28 Mar 2025 19:34:21 +0100 Subject: [PATCH 07/15] Rename named_graph to visit_named_graph --- src/graph.rs | 2 +- src/lib.rs | 6 +++--- src/quads.rs | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/graph.rs b/src/graph.rs index 6551d1e..60ee040 100644 --- a/src/graph.rs +++ b/src/graph.rs @@ -170,7 +170,7 @@ impl> LinkedData, { - visitor.named_graph(self)?; + visitor.visit_named_graph(self)?; visitor.end() } } diff --git a/src/lib.rs b/src/lib.rs index 768bde7..9d4aa79 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -210,7 +210,7 @@ pub trait Visitor { T: ?Sized + LinkedDataGraph; /// Visits a named graph of the dataset. - fn named_graph(&mut self, value: &T) -> Result<(), Self::Error> + fn visit_named_graph(&mut self, value: &T) -> Result<(), Self::Error> where T: ?Sized + LinkedDataResource + LinkedDataGraph; @@ -230,11 +230,11 @@ impl> Visitor for &mut S::visit_default_graph(self, value) } - fn named_graph(&mut self, value: &T) -> Result<(), Self::Error> + fn visit_named_graph(&mut self, value: &T) -> Result<(), Self::Error> where T: ?Sized + LinkedDataResource + LinkedDataGraph, { - S::named_graph(self, value) + S::visit_named_graph(self, value) } fn end(self) -> Result { diff --git a/src/quads.rs b/src/quads.rs index 80a8c1c..319c1eb 100644 --- a/src/quads.rs +++ b/src/quads.rs @@ -947,7 +947,7 @@ impl> Visitor value.accept_graph_visitor(graph_serializer) } - fn named_graph(&mut self, value: &T) -> Result<(), Self::Error> + fn visit_named_graph(&mut self, value: &T) -> Result<(), Self::Error> where T: ?Sized + LinkedDataResource + crate::LinkedDataGraph, { From b10f2fa1d3c92936762b26a855b277b8077bae1b Mon Sep 17 00:00:00 2001 From: Gordian Dziwis Date: Fri, 28 Mar 2025 19:52:39 +0100 Subject: [PATCH 08/15] Rename object to visit_object --- derive/src/generate/ser/enum.rs | 4 ++-- derive/src/generate/ser/struct.rs | 2 +- src/anonymous.rs | 2 +- src/datatypes/ser.rs | 6 +++--- src/graph.rs | 2 +- src/impl/rdf_types/dataset_graph_view.rs | 2 +- src/impl/rdf_types/dataset_view.rs | 2 +- src/macros.rs | 2 +- src/predicate.rs | 16 ++++++++-------- src/quads.rs | 4 ++-- src/reference.rs | 2 +- 11 files changed, 22 insertions(+), 22 deletions(-) diff --git a/derive/src/generate/ser/enum.rs b/derive/src/generate/ser/enum.rs index 658b0d4..d7b8576 100644 --- a/derive/src/generate/ser/enum.rs +++ b/derive/src/generate/ser/enum.rs @@ -500,7 +500,7 @@ fn variant_visit_predicate( } VariantShape::Unit => { quote! { - visitor.object(::linked_data::iref::Iri::new(#iri).unwrap())?; + visitor.visit_object(::linked_data::iref::Iri::new(#iri).unwrap())?; visitor.end() } } @@ -868,7 +868,7 @@ fn variant_subject_type( where S_: ::linked_data::PredicateObjectsVisitor { - visitor.object(self)?; + visitor.visit_object(self)?; visitor.end() } } diff --git a/derive/src/generate/ser/struct.rs b/derive/src/generate/ser/struct.rs index 33d089c..5a12138 100644 --- a/derive/src/generate/ser/struct.rs +++ b/derive/src/generate/ser/struct.rs @@ -100,7 +100,7 @@ pub fn generate( where S_: ::linked_data::PredicateObjectsVisitor { - visitor.object(self)?; + visitor.visit_object(self)?; visitor.end() } } diff --git a/src/anonymous.rs b/src/anonymous.rs index 7871206..44c09a3 100644 --- a/src/anonymous.rs +++ b/src/anonymous.rs @@ -43,7 +43,7 @@ impl, { - serializer.object(self)?; + serializer.visit_object(self)?; serializer.end() } } diff --git a/src/datatypes/ser.rs b/src/datatypes/ser.rs index 9230103..a1b3c5b 100644 --- a/src/datatypes/ser.rs +++ b/src/datatypes/ser.rs @@ -37,7 +37,7 @@ macro_rules! datatype { where S: PredicateObjectsVisitor, { - visitor.object(self)?; + visitor.visit_object(self)?; visitor.end() } } @@ -74,7 +74,7 @@ macro_rules! unsized_datatype { where S: PredicateObjectsVisitor, { - visitor.object(self)?; + visitor.visit_object(self)?; visitor.end() } } @@ -141,7 +141,7 @@ impl where S: PredicateObjectsVisitor, { - visitor.object(self)?; + visitor.visit_object(self)?; visitor.end() } } diff --git a/src/graph.rs b/src/graph.rs index 60ee040..41c1f01 100644 --- a/src/graph.rs +++ b/src/graph.rs @@ -147,7 +147,7 @@ impl> LinkedDataPredi where S: crate::PredicateObjectsVisitor, { - visitor.object(self)?; + visitor.visit_object(self)?; visitor.end() } } diff --git a/src/impl/rdf_types/dataset_graph_view.rs b/src/impl/rdf_types/dataset_graph_view.rs index 30f420b..f60a9f6 100644 --- a/src/impl/rdf_types/dataset_graph_view.rs +++ b/src/impl/rdf_types/dataset_graph_view.rs @@ -49,7 +49,7 @@ where .dataset .quad_objects(self.graph, self.subject, self.predicate) { - visitor.object(&Object { + visitor.visit_object(&Object { dataset: self.dataset, graph: self.graph, object, diff --git a/src/impl/rdf_types/dataset_view.rs b/src/impl/rdf_types/dataset_view.rs index 54b2c61..ff9e6ab 100644 --- a/src/impl/rdf_types/dataset_view.rs +++ b/src/impl/rdf_types/dataset_view.rs @@ -83,7 +83,7 @@ where .dataset .quad_objects(self.graph, self.subject, self.predicate) { - visitor.object(&Object { + visitor.visit_object(&Object { dataset: self.dataset, graph: self.graph, object, diff --git a/src/macros.rs b/src/macros.rs index 7f28f4a..a76efaf 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -23,7 +23,7 @@ macro_rules! json_literal { where S: $crate::PredicateObjectsVisitor, { - visitor.object(self)?; + visitor.visit_object(self)?; visitor.end() } } diff --git a/src/predicate.rs b/src/predicate.rs index a58aed0..8ef0bcd 100644 --- a/src/predicate.rs +++ b/src/predicate.rs @@ -59,7 +59,7 @@ impl + LinkedDataRe S: PredicateObjectsVisitor, { if let Some(t) = self { - visitor.object(t)?; + visitor.visit_object(t)?; } visitor.end() @@ -74,7 +74,7 @@ impl + LinkedDataRe S: PredicateObjectsVisitor, { for t in self { - visitor.object(t)?; + visitor.visit_object(t)?; } visitor.end() @@ -89,7 +89,7 @@ impl + LinkedDataRe S: PredicateObjectsVisitor, { for t in self { - visitor.object(t)?; + visitor.visit_object(t)?; } visitor.end() @@ -104,7 +104,7 @@ where where S: PredicateObjectsVisitor, { - visitor.object(self)?; + visitor.visit_object(self)?; visitor.end() } } @@ -117,7 +117,7 @@ where where S: PredicateObjectsVisitor, { - visitor.object(self)?; + visitor.visit_object(self)?; visitor.end() } } @@ -130,7 +130,7 @@ where where S: PredicateObjectsVisitor, { - visitor.object(self)?; + visitor.visit_object(self)?; visitor.end() } } @@ -143,7 +143,7 @@ where where S: PredicateObjectsVisitor, { - visitor.object(self)?; + visitor.visit_object(self)?; visitor.end() } } @@ -168,7 +168,7 @@ pub trait PredicateObjectsVisitor { type Ok; type Error; - fn object(&mut self, value: &T) -> Result<(), Self::Error> + fn visit_object(&mut self, value: &T) -> Result<(), Self::Error> where T: ?Sized + LinkedDataResource + LinkedDataSubject; diff --git a/src/quads.rs b/src/quads.rs index 319c1eb..eed64c3 100644 --- a/src/quads.rs +++ b/src/quads.rs @@ -1157,7 +1157,7 @@ impl> PredicateObjectsVisitor< type Ok = (); type Error = IntoQuadsError; - fn object(&mut self, value: &T) -> Result<(), Self::Error> + fn visit_object(&mut self, value: &T) -> Result<(), Self::Error> where T: ?Sized + LinkedDataResource + crate::LinkedDataSubject, { @@ -1205,7 +1205,7 @@ impl> PredicateObjectsVisitor< type Ok = (); type Error = IntoQuadsError; - fn object(&mut self, value: &T) -> Result<(), Self::Error> + fn visit_object(&mut self, value: &T) -> Result<(), Self::Error> where T: ?Sized + LinkedDataResource + crate::LinkedDataSubject, { diff --git a/src/reference.rs b/src/reference.rs index 5053a11..b7bccf2 100644 --- a/src/reference.rs +++ b/src/reference.rs @@ -43,7 +43,7 @@ impl> LinkedDataPr where S: crate::PredicateObjectsVisitor, { - visitor.object(self)?; + visitor.visit_object(self)?; visitor.end() } } From b51e3f63aec561fe80f6a3134188b4249073af77 Mon Sep 17 00:00:00 2001 From: Gordian Dziwis Date: Fri, 28 Mar 2025 19:56:07 +0100 Subject: [PATCH 09/15] Rename predicate to visit_predicate --- derive/src/generate/ser.rs | 4 ++-- derive/src/generate/ser/enum.rs | 4 ++-- derive/src/generate/ser/struct.rs | 2 +- src/anonymous.rs | 2 +- src/impl/rdf_types/dataset_graph_view.rs | 4 ++-- src/impl/rdf_types/dataset_view.rs | 4 ++-- src/quads.rs | 2 +- src/subject.rs | 6 +++--- 8 files changed, 14 insertions(+), 14 deletions(-) diff --git a/derive/src/generate/ser.rs b/derive/src/generate/ser.rs index 64568e5..7821802 100644 --- a/derive/src/generate/ser.rs +++ b/derive/src/generate/ser.rs @@ -85,7 +85,7 @@ fn variant_compound_fields( ); quote! { - visitor.predicate( + visitor.visit_predicate( ::linked_data::iref::Iri::new(#iri).unwrap(), &Some(::linked_data::AnonymousGraph(#field_ref)) )?; @@ -99,7 +99,7 @@ fn variant_compound_fields( ); quote! { - visitor.predicate( + visitor.visit_predicate( ::linked_data::iref::Iri::new(#iri).unwrap(), #field_ref )?; diff --git a/derive/src/generate/ser/enum.rs b/derive/src/generate/ser/enum.rs index d7b8576..adc15d9 100644 --- a/derive/src/generate/ser/enum.rs +++ b/derive/src/generate/ser/enum.rs @@ -393,7 +393,7 @@ fn variant_visit_subject( ); quote! { - visitor.predicate( + visitor.visit_predicate( ::linked_data::iref::Iri::new(#iri).unwrap(), #id )?; @@ -408,7 +408,7 @@ fn variant_visit_subject( vocabulary_bounds.add(inner_ty.visit_vocabulary_bounds); quote! { - visitor.predicate( + visitor.visit_predicate( ::linked_data::iref::Iri::new(#iri).unwrap(), &#inner_id #input )?; diff --git a/derive/src/generate/ser/struct.rs b/derive/src/generate/ser/struct.rs index 5a12138..bfe01f1 100644 --- a/derive/src/generate/ser/struct.rs +++ b/derive/src/generate/ser/struct.rs @@ -36,7 +36,7 @@ pub fn generate( let rdf_type = RDF_TYPE.as_str(); Ok(quote! { - visitor.predicate( + visitor.visit_predicate( ::linked_data::iref::Iri::new(#rdf_type).unwrap(), ::linked_data::iref::Iri::new(#iri).unwrap() )?; diff --git a/src/anonymous.rs b/src/anonymous.rs index 44c09a3..00168d2 100644 --- a/src/anonymous.rs +++ b/src/anonymous.rs @@ -31,7 +31,7 @@ impl, { - serializer.predicate(self.0, self.1)?; + serializer.visit_predicate(self.0, self.1)?; serializer.end() } } diff --git a/src/impl/rdf_types/dataset_graph_view.rs b/src/impl/rdf_types/dataset_graph_view.rs index f60a9f6..f25ee56 100644 --- a/src/impl/rdf_types/dataset_graph_view.rs +++ b/src/impl/rdf_types/dataset_graph_view.rs @@ -145,7 +145,7 @@ impl<'d, 'v, D: PredicateTraversableDataset + PatternMatchingDataset> Subject<'d .dataset .quad_predicates_objects(self.graph, self.subject) { - visitor.predicate( + visitor.visit_predicate( predicate, &PredicateObjects { dataset: self.dataset, @@ -175,7 +175,7 @@ where .dataset .quad_predicates_objects(self.graph, self.subject) { - visitor.predicate( + visitor.visit_predicate( predicate, &PredicateObjects { dataset: self.dataset, diff --git a/src/impl/rdf_types/dataset_view.rs b/src/impl/rdf_types/dataset_view.rs index ff9e6ab..771c1df 100644 --- a/src/impl/rdf_types/dataset_view.rs +++ b/src/impl/rdf_types/dataset_view.rs @@ -196,7 +196,7 @@ where .dataset .quad_predicates_objects(self.graph, self.subject) { - visitor.predicate( + visitor.visit_predicate( predicate, &PredicateObjects { dataset: self.dataset, @@ -254,7 +254,7 @@ where .dataset .quad_predicates_objects(self.graph, self.subject) { - visitor.predicate( + visitor.visit_predicate( predicate, &PredicateObjects { dataset: self.dataset, diff --git a/src/quads.rs b/src/quads.rs index eed64c3..05942aa 100644 --- a/src/quads.rs +++ b/src/quads.rs @@ -1048,7 +1048,7 @@ impl> SubjectVisitor type Ok = (); type Error = IntoQuadsError; - fn predicate(&mut self, predicate: &L, value: &T) -> Result<(), Self::Error> + fn visit_predicate(&mut self, predicate: &L, value: &T) -> Result<(), Self::Error> where L: ?Sized + LinkedDataResource, T: ?Sized + crate::LinkedDataPredicateObjects, diff --git a/src/subject.rs b/src/subject.rs index 728ceff..85fc445 100644 --- a/src/subject.rs +++ b/src/subject.rs @@ -106,7 +106,7 @@ pub trait SubjectVisitor { type Error; /// Visit a predicate of the graph. - fn predicate(&mut self, predicate: &L, objects: &T) -> Result<(), Self::Error> + fn visit_predicate(&mut self, predicate: &L, objects: &T) -> Result<(), Self::Error> where L: ?Sized + LinkedDataResource, T: ?Sized + LinkedDataPredicateObjects; @@ -134,12 +134,12 @@ impl> SubjectVisitor(&mut self, predicate: &L, objects: &T) -> Result<(), Self::Error> + fn visit_predicate(&mut self, predicate: &L, objects: &T) -> Result<(), Self::Error> where L: ?Sized + LinkedDataResource, T: ?Sized + LinkedDataPredicateObjects, { - S::predicate(self, predicate, objects) + S::visit_predicate(self, predicate, objects) } fn reverse_predicate(&mut self, predicate: &L, subjects: &T) -> Result<(), Self::Error> From 447b0bd86e26edb865cc5d6b62892d9c10b70a77 Mon Sep 17 00:00:00 2001 From: Gordian Dziwis Date: Fri, 28 Mar 2025 19:57:52 +0100 Subject: [PATCH 10/15] Rename reverse_predicate to visit_reverse_predicate --- src/quads.rs | 2 +- src/subject.rs | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/quads.rs b/src/quads.rs index 05942aa..0cef1b5 100644 --- a/src/quads.rs +++ b/src/quads.rs @@ -1073,7 +1073,7 @@ impl> SubjectVisitor value.accept_objects_visitor(objects_serializer) } - fn reverse_predicate(&mut self, predicate: &L, subjects: &T) -> Result<(), Self::Error> + fn visit_reverse_predicate(&mut self, predicate: &L, subjects: &T) -> Result<(), Self::Error> where L: ?Sized + LinkedDataResource, T: ?Sized + crate::LinkedDataPredicateObjects, diff --git a/src/subject.rs b/src/subject.rs index 85fc445..8820793 100644 --- a/src/subject.rs +++ b/src/subject.rs @@ -112,7 +112,7 @@ pub trait SubjectVisitor { T: ?Sized + LinkedDataPredicateObjects; /// Visit a reverse predicate of the graph. - fn reverse_predicate(&mut self, predicate: &L, subjects: &T) -> Result<(), Self::Error> + fn visit_reverse_predicate(&mut self, predicate: &L, subjects: &T) -> Result<(), Self::Error> where L: ?Sized + LinkedDataResource, T: ?Sized + LinkedDataPredicateObjects; @@ -142,12 +142,12 @@ impl> SubjectVisitor(&mut self, predicate: &L, subjects: &T) -> Result<(), Self::Error> + fn visit_reverse_predicate(&mut self, predicate: &L, subjects: &T) -> Result<(), Self::Error> where L: ?Sized + LinkedDataResource, T: ?Sized + LinkedDataPredicateObjects, { - S::reverse_predicate(self, predicate, subjects) + S::visit_reverse_predicate(self, predicate, subjects) } fn graph(&mut self, value: &T) -> Result<(), Self::Error> From 82fc119501fb2b3d5027a92dc075404da1958e26 Mon Sep 17 00:00:00 2001 From: Gordian Dziwis Date: Fri, 28 Mar 2025 19:59:21 +0100 Subject: [PATCH 11/15] Rename graph to visit_graph --- src/graph.rs | 2 +- src/impl/rdf_types/dataset_view.rs | 2 +- src/quads.rs | 2 +- src/subject.rs | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/graph.rs b/src/graph.rs index 41c1f01..ff635af 100644 --- a/src/graph.rs +++ b/src/graph.rs @@ -135,7 +135,7 @@ impl> LinkedDataSubje where S: crate::SubjectVisitor, { - serializer.graph(&self.0)?; + serializer.visit_graph(&self.0)?; serializer.end() } } diff --git a/src/impl/rdf_types/dataset_view.rs b/src/impl/rdf_types/dataset_view.rs index 771c1df..dd78ab3 100644 --- a/src/impl/rdf_types/dataset_view.rs +++ b/src/impl/rdf_types/dataset_view.rs @@ -212,7 +212,7 @@ where if self.dataset.contains_named_graph(self.subject) { let mut visited_graphs = self.visited_graphs.clone(); if visited_graphs.insert(self.subject).is_none() { - visitor.graph(&NamedGraphView { + visitor.visit_graph(&NamedGraphView { dataset: self.dataset, graph: self.subject, visited_graphs: &visited_graphs, diff --git a/src/quads.rs b/src/quads.rs index 0cef1b5..29a64e7 100644 --- a/src/quads.rs +++ b/src/quads.rs @@ -1098,7 +1098,7 @@ impl> SubjectVisitor subjects.accept_objects_visitor(subjects_serializer) } - fn graph(&mut self, value: &T) -> Result<(), Self::Error> + fn visit_graph(&mut self, value: &T) -> Result<(), Self::Error> where T: ?Sized + LinkedDataGraph, { diff --git a/src/subject.rs b/src/subject.rs index 8820793..489ceb8 100644 --- a/src/subject.rs +++ b/src/subject.rs @@ -117,7 +117,7 @@ pub trait SubjectVisitor { L: ?Sized + LinkedDataResource, T: ?Sized + LinkedDataPredicateObjects; - fn graph(&mut self, value: &T) -> Result<(), Self::Error> + fn visit_graph(&mut self, value: &T) -> Result<(), Self::Error> where T: ?Sized + LinkedDataGraph; @@ -150,11 +150,11 @@ impl> SubjectVisitor(&mut self, value: &T) -> Result<(), Self::Error> + fn visit_graph(&mut self, value: &T) -> Result<(), Self::Error> where T: ?Sized + LinkedDataGraph, { - S::graph(self, value) + S::visit_graph(self, value) } fn include(&mut self, value: &T) -> Result<(), Self::Error> From a8c49f03323e7e6cbc5b0384f513f5793e9543bb Mon Sep 17 00:00:00 2001 From: Gordian Dziwis Date: Fri, 28 Mar 2025 20:01:39 +0100 Subject: [PATCH 12/15] Rename include to visit_include --- src/quads.rs | 2 +- src/subject.rs | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/quads.rs b/src/quads.rs index 29a64e7..7c8bab7 100644 --- a/src/quads.rs +++ b/src/quads.rs @@ -1115,7 +1115,7 @@ impl> SubjectVisitor value.accept_graph_visitor(graph_serializer) } - fn include(&mut self, value: &T) -> Result<(), Self::Error> + fn visit_include(&mut self, value: &T) -> Result<(), Self::Error> where T: ?Sized + LinkedDataResource + LinkedDataSubject, { diff --git a/src/subject.rs b/src/subject.rs index 489ceb8..86ed436 100644 --- a/src/subject.rs +++ b/src/subject.rs @@ -121,7 +121,7 @@ pub trait SubjectVisitor { where T: ?Sized + LinkedDataGraph; - fn include(&mut self, value: &T) -> Result<(), Self::Error> + fn visit_include(&mut self, value: &T) -> Result<(), Self::Error> where T: ?Sized + LinkedDataResource + LinkedDataSubject; @@ -157,11 +157,11 @@ impl> SubjectVisitor(&mut self, value: &T) -> Result<(), Self::Error> + fn visit_include(&mut self, value: &T) -> Result<(), Self::Error> where T: ?Sized + LinkedDataResource + LinkedDataSubject, { - S::include(self, value) + S::visit_include(self, value) } fn end(self) -> Result { From 0e26c185d2b10925a5a84975e20c0f3f6a1cf7aa Mon Sep 17 00:00:00 2001 From: Gordian Dziwis Date: Fri, 28 Mar 2025 20:08:26 +0100 Subject: [PATCH 13/15] Rename serializer to visitor --- src/anonymous.rs | 24 ++++++++++++------------ src/graph.rs | 7 +++---- src/reference.rs | 4 ++-- src/subject.rs | 37 ++++++++++++++++++------------------- 4 files changed, 35 insertions(+), 37 deletions(-) diff --git a/src/anonymous.rs b/src/anonymous.rs index 00168d2..343fc0c 100644 --- a/src/anonymous.rs +++ b/src/anonymous.rs @@ -27,47 +27,47 @@ impl LinkedDataResource for Anonymous impl> LinkedDataSubject for AnonymousBinding<'_, T> { - fn accept_subject_visitor(&self, mut serializer: S) -> Result + fn accept_subject_visitor(&self, mut visitor: S) -> Result where S: SubjectVisitor, { - serializer.visit_predicate(self.0, self.1)?; - serializer.end() + visitor.visit_predicate(self.0, self.1)?; + visitor.end() } } impl> LinkedDataPredicateObjects for AnonymousBinding<'_, T> { - fn accept_objects_visitor(&self, mut serializer: S) -> Result + fn accept_objects_visitor(&self, mut visitor: S) -> Result where S: PredicateObjectsVisitor, { - serializer.visit_object(self)?; - serializer.end() + visitor.visit_object(self)?; + visitor.end() } } impl> LinkedDataGraph for AnonymousBinding<'_, T> { - fn accept_graph_visitor(&self, mut serializer: S) -> Result + fn accept_graph_visitor(&self, mut visitor: S) -> Result where S: GraphVisitor, { - serializer.subject(self)?; - serializer.end() + visitor.subject(self)?; + visitor.end() } } impl> LinkedData for AnonymousBinding<'_, T> { - fn accept_visitor(&self, mut serializer: S) -> Result + fn accept_visitor(&self, mut visitor: S) -> Result where S: Visitor, { - serializer.visit_default_graph(self)?; - serializer.end() + visitor.visit_default_graph(self)?; + visitor.end() } } diff --git a/src/graph.rs b/src/graph.rs index ff635af..c68b760 100644 --- a/src/graph.rs +++ b/src/graph.rs @@ -5,7 +5,6 @@ use crate::{LinkedData, LinkedDataPredicateObjects, LinkedDataResource, LinkedDa // use crate::SerializeSubject; -/// Serialize a Linked-Data graph. pub trait LinkedDataGraph { fn accept_graph_visitor(&self, visitor: S) -> Result where @@ -131,12 +130,12 @@ impl LinkedDataResource for Anonymous impl> LinkedDataSubject for AnonymousGraph { - fn accept_subject_visitor(&self, mut serializer: S) -> Result + fn accept_subject_visitor(&self, mut visitor: S) -> Result where S: crate::SubjectVisitor, { - serializer.visit_graph(&self.0)?; - serializer.end() + visitor.visit_graph(&self.0)?; + visitor.end() } } diff --git a/src/reference.rs b/src/reference.rs index b7bccf2..d06872a 100644 --- a/src/reference.rs +++ b/src/reference.rs @@ -28,11 +28,11 @@ impl> LinkedDataRe } impl LinkedDataSubject for Ref { - fn accept_subject_visitor(&self, serializer: S) -> Result + fn accept_subject_visitor(&self, visitor: S) -> Result where S: crate::SubjectVisitor, { - serializer.end() + visitor.end() } } diff --git a/src/subject.rs b/src/subject.rs index 86ed436..e337766 100644 --- a/src/subject.rs +++ b/src/subject.rs @@ -11,77 +11,76 @@ use crate::{ Context, FromLinkedDataError, LinkedDataGraph, LinkedDataPredicateObjects, LinkedDataResource, }; -/// Serialize a Linked-Data node. pub trait LinkedDataSubject { - fn accept_subject_visitor(&self, serializer: S) -> Result + fn accept_subject_visitor(&self, visitor: S) -> Result where S: SubjectVisitor; } impl LinkedDataSubject for () { - fn accept_subject_visitor(&self, serializer: S) -> Result + fn accept_subject_visitor(&self, visitor: S) -> Result where S: SubjectVisitor, { - serializer.end() + visitor.end() } } impl> LinkedDataSubject for &T { - fn accept_subject_visitor(&self, serializer: S) -> Result + fn accept_subject_visitor(&self, visitor: S) -> Result where S: SubjectVisitor, { - T::accept_subject_visitor(self, serializer) + T::accept_subject_visitor(self, visitor) } } impl> LinkedDataSubject for Box { - fn accept_subject_visitor(&self, serializer: S) -> Result + fn accept_subject_visitor(&self, visitor: S) -> Result where S: SubjectVisitor, { - T::accept_subject_visitor(self, serializer) + T::accept_subject_visitor(self, visitor) } } impl LinkedDataSubject for Iri { - fn accept_subject_visitor(&self, serializer: S) -> Result + fn accept_subject_visitor(&self, visitor: S) -> Result where S: SubjectVisitor, { - serializer.end() + visitor.end() } } impl LinkedDataSubject for IriBuf { - fn accept_subject_visitor(&self, serializer: S) -> Result + fn accept_subject_visitor(&self, visitor: S) -> Result where S: SubjectVisitor, { - serializer.end() + visitor.end() } } impl LinkedDataSubject for BlankId { - fn accept_subject_visitor(&self, serializer: S) -> Result + fn accept_subject_visitor(&self, visitor: S) -> Result where S: SubjectVisitor, { - serializer.end() + visitor.end() } } impl LinkedDataSubject for BlankIdBuf { - fn accept_subject_visitor(&self, serializer: S) -> Result + fn accept_subject_visitor(&self, visitor: S) -> Result where S: SubjectVisitor, { - serializer.end() + visitor.end() } } @@ -90,13 +89,13 @@ where T: LinkedDataSubject, B: LinkedDataSubject, { - fn accept_subject_visitor(&self, serializer: S) -> Result + fn accept_subject_visitor(&self, visitor: S) -> Result where S: SubjectVisitor, { match self { - Self::Iri(i) => i.accept_subject_visitor(serializer), - Self::Blank(b) => b.accept_subject_visitor(serializer), + Self::Iri(i) => i.accept_subject_visitor(visitor), + Self::Blank(b) => b.accept_subject_visitor(visitor), } } } From f800b9a9c9387d6b77f452de0326e71626b27df3 Mon Sep 17 00:00:00 2001 From: Gordian Dziwis Date: Fri, 28 Mar 2025 20:35:20 +0100 Subject: [PATCH 14/15] Moved trait bounds to where clause (except I and V) --- src/anonymous.rs | 25 ++++++++---- src/graph.rs | 45 ++++++++++++++-------- src/impl/rdf_types/dataset_graph_view.rs | 4 +- src/lib.rs | 15 ++++++-- src/predicate.rs | 34 +++++++++------- src/reference.rs | 20 ++++++---- src/resource.rs | 49 ++++++++++++++---------- src/subject.rs | 27 +++++++++---- 8 files changed, 138 insertions(+), 81 deletions(-) diff --git a/src/anonymous.rs b/src/anonymous.rs index 343fc0c..a14beb6 100644 --- a/src/anonymous.rs +++ b/src/anonymous.rs @@ -24,8 +24,10 @@ impl LinkedDataResource for Anonymous } } -impl> - LinkedDataSubject for AnonymousBinding<'_, T> +impl LinkedDataSubject for AnonymousBinding<'_, T> +where + V: IriVocabularyMut, + T: LinkedDataPredicateObjects, { fn accept_subject_visitor(&self, mut visitor: S) -> Result where @@ -36,8 +38,11 @@ impl> - LinkedDataPredicateObjects for AnonymousBinding<'_, T> +impl LinkedDataPredicateObjects + for AnonymousBinding<'_, T> +where + V: IriVocabularyMut, + T: LinkedDataPredicateObjects, { fn accept_objects_visitor(&self, mut visitor: S) -> Result where @@ -48,8 +53,10 @@ impl> - LinkedDataGraph for AnonymousBinding<'_, T> +impl LinkedDataGraph for AnonymousBinding<'_, T> +where + V: IriVocabularyMut, + T: LinkedDataPredicateObjects, { fn accept_graph_visitor(&self, mut visitor: S) -> Result where @@ -60,8 +67,10 @@ impl> - LinkedData for AnonymousBinding<'_, T> +impl LinkedData for AnonymousBinding<'_, T> +where + V: IriVocabularyMut, + T: LinkedDataPredicateObjects, { fn accept_visitor(&self, mut visitor: S) -> Result where diff --git a/src/graph.rs b/src/graph.rs index c68b760..db031ee 100644 --- a/src/graph.rs +++ b/src/graph.rs @@ -20,8 +20,9 @@ impl LinkedDataGraph for () { } } -impl> LinkedDataGraph - for &T +impl LinkedDataGraph for &T +where + T: ?Sized + LinkedDataGraph, { fn accept_graph_visitor(&self, visitor: S) -> Result where @@ -31,8 +32,9 @@ impl> Linked } } -impl> LinkedDataGraph - for Box +impl LinkedDataGraph for Box +where + T: ?Sized + LinkedDataGraph, { fn accept_graph_visitor(&self, visitor: S) -> Result where @@ -60,8 +62,9 @@ impl LinkedDataGraph for IriBuf { } } -impl + LinkedDataResource> - LinkedDataGraph for [T] +impl LinkedDataGraph for [T] +where + T: LinkedDataSubject + LinkedDataResource, { fn accept_graph_visitor(&self, mut visitor: S) -> Result where @@ -74,8 +77,9 @@ impl + LinkedDataRe } } -impl + LinkedDataResource> - LinkedDataGraph for Vec +impl LinkedDataGraph for Vec +where + T: LinkedDataSubject + LinkedDataResource, { fn accept_graph_visitor(&self, mut visitor: S) -> Result where @@ -99,7 +103,10 @@ pub trait GraphVisitor { fn end(self) -> Result; } -impl> GraphVisitor for &mut S { +impl GraphVisitor for &mut S +where + S: GraphVisitor, +{ type Ok = (); type Error = S::Error; @@ -127,8 +134,9 @@ impl LinkedDataResource for Anonymous } } -impl> LinkedDataSubject - for AnonymousGraph +impl LinkedDataSubject for AnonymousGraph +where + T: LinkedDataGraph, { fn accept_subject_visitor(&self, mut visitor: S) -> Result where @@ -139,8 +147,9 @@ impl> LinkedDataSubje } } -impl> LinkedDataPredicateObjects - for AnonymousGraph +impl LinkedDataPredicateObjects for AnonymousGraph +where + T: LinkedDataGraph, { fn accept_objects_visitor(&self, mut visitor: S) -> Result where @@ -151,8 +160,9 @@ impl> LinkedDataPredi } } -impl> LinkedDataGraph - for AnonymousGraph +impl LinkedDataGraph for AnonymousGraph +where + T: LinkedDataGraph, { fn accept_graph_visitor(&self, visitor: S) -> Result where @@ -162,8 +172,9 @@ impl> LinkedDataGraph } } -impl> LinkedData - for AnonymousGraph +impl LinkedData for AnonymousGraph +where + T: LinkedDataGraph, { fn accept_visitor(&self, mut visitor: S) -> Result where diff --git a/src/impl/rdf_types/dataset_graph_view.rs b/src/impl/rdf_types/dataset_graph_view.rs index f25ee56..2f11876 100644 --- a/src/impl/rdf_types/dataset_graph_view.rs +++ b/src/impl/rdf_types/dataset_graph_view.rs @@ -61,8 +61,8 @@ where } } -impl> - LinkedDataResource for Object<'_, '_, D> +impl> LinkedDataResource + for Object<'_, '_, D> where I::Resource: LinkedDataResource, { diff --git a/src/lib.rs b/src/lib.rs index 9d4aa79..391ef41 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -166,8 +166,9 @@ pub trait LinkedData { S: Visitor; } -impl> LinkedData - for &T +impl LinkedData for &T +where + T: ?Sized + LinkedData, { fn accept_visitor(&self, visitor: S) -> Result where @@ -177,7 +178,10 @@ impl> LinkedData< } } -impl> LinkedData for Box { +impl LinkedData for Box +where + T: ?Sized + LinkedData, +{ fn accept_visitor(&self, visitor: S) -> Result where S: Visitor, @@ -219,7 +223,10 @@ pub trait Visitor { } /// Any mutable reference to a visitor is itself a visitor. -impl> Visitor for &mut S { +impl Visitor for &mut S +where + S: Visitor, +{ type Ok = (); type Error = S::Error; diff --git a/src/predicate.rs b/src/predicate.rs index 8ef0bcd..c2d320d 100644 --- a/src/predicate.rs +++ b/src/predicate.rs @@ -29,8 +29,9 @@ impl LinkedDataPredicateObjects for () { } } -impl> - LinkedDataPredicateObjects for &T +impl LinkedDataPredicateObjects for &T +where + T: ?Sized + LinkedDataPredicateObjects, { fn accept_objects_visitor(&self, visitor: S) -> Result where @@ -40,8 +41,9 @@ impl> - LinkedDataPredicateObjects for Box +impl LinkedDataPredicateObjects for Box +where + T: ?Sized + LinkedDataPredicateObjects, { fn accept_objects_visitor(&self, visitor: S) -> Result where @@ -51,8 +53,9 @@ impl + LinkedDataResource> - LinkedDataPredicateObjects for Option +impl LinkedDataPredicateObjects for Option +where + T: LinkedDataSubject + LinkedDataResource, { fn accept_objects_visitor(&self, mut visitor: S) -> Result where @@ -66,8 +69,9 @@ impl + LinkedDataRe } } -impl + LinkedDataResource> - LinkedDataPredicateObjects for [T] +impl LinkedDataPredicateObjects for [T] +where + T: LinkedDataSubject + LinkedDataResource, { fn accept_objects_visitor(&self, mut visitor: S) -> Result where @@ -81,8 +85,9 @@ impl + LinkedDataRe } } -impl + LinkedDataResource> - LinkedDataPredicateObjects for Vec +impl LinkedDataPredicateObjects for Vec +where + T: LinkedDataSubject + LinkedDataResource, { fn accept_objects_visitor(&self, mut visitor: S) -> Result where @@ -274,8 +279,9 @@ where deserialize_single_object!(); } -impl> - LinkedDataDeserializePredicateObjects for Box +impl LinkedDataDeserializePredicateObjects for Box +where + T: LinkedDataDeserializePredicateObjects, { fn deserialize_objects_in<'a, D>( vocabulary: &V, @@ -294,10 +300,10 @@ impl> - LinkedDataDeserializePredicateObjects for Option +impl LinkedDataDeserializePredicateObjects for Option where I: ReverseIriInterpretation, + T: LinkedDataDeserializeSubject, { fn deserialize_objects_in<'a, D>( vocabulary: &V, diff --git a/src/reference.rs b/src/reference.rs index d06872a..8c77577 100644 --- a/src/reference.rs +++ b/src/reference.rs @@ -15,8 +15,9 @@ impl From for Ref { } } -impl> LinkedDataResource - for Ref +impl LinkedDataResource for Ref +where + T: LinkedDataResource, { fn interpretation( &self, @@ -36,8 +37,9 @@ impl LinkedDataSubject for Ref { } } -impl> LinkedDataPredicateObjects - for Ref +impl LinkedDataPredicateObjects for Ref +where + T: LinkedDataResource, { fn accept_objects_visitor(&self, mut visitor: S) -> Result where @@ -48,8 +50,9 @@ impl> LinkedDataPr } } -impl> LinkedDataGraph - for Ref +impl LinkedDataGraph for Ref +where + T: LinkedDataResource, { fn accept_graph_visitor(&self, mut visitor: S) -> Result where @@ -60,7 +63,10 @@ impl> LinkedDataGr } } -impl> LinkedData for Ref { +impl LinkedData for Ref +where + T: LinkedDataResource, +{ fn accept_visitor(&self, mut visitor: S) -> Result where S: crate::Visitor, diff --git a/src/resource.rs b/src/resource.rs index 09c8c6c..e13de92 100644 --- a/src/resource.rs +++ b/src/resource.rs @@ -161,7 +161,10 @@ impl LinkedDataResource for Anonymous { } } -impl LinkedDataResource for Iri { +impl LinkedDataResource for Iri +where + V: IriVocabularyMut, +{ fn interpretation( &self, vocabulary: &mut V, @@ -173,7 +176,10 @@ impl LinkedDataResource LinkedDataResource for IriBuf { +impl LinkedDataResource for IriBuf +where + V: IriVocabularyMut, +{ fn interpretation( &self, vocabulary: &mut V, @@ -185,7 +191,10 @@ impl LinkedDataResource LinkedDataResource for BlankId { +impl LinkedDataResource for BlankId +where + V: BlankIdVocabularyMut, +{ fn interpretation( &self, vocabulary: &mut V, @@ -197,8 +206,9 @@ impl LinkedDataResource } } -impl LinkedDataResource - for BlankIdBuf +impl LinkedDataResource for BlankIdBuf +where + V: BlankIdVocabularyMut, { fn interpretation( &self, @@ -211,12 +221,10 @@ impl LinkedDataResource } } -impl< - V: Vocabulary, - I: Interpretation, - T: LinkedDataResource, - B: LinkedDataResource, - > LinkedDataResource for Id +impl LinkedDataResource for Id +where + T: LinkedDataResource, + B: LinkedDataResource, { fn interpretation( &self, @@ -230,13 +238,11 @@ impl< } } -impl< - V: Vocabulary, - I: Interpretation, - T: LinkedDataResource, - B: LinkedDataResource, - L: LinkedDataResource, - > LinkedDataResource for Term, L> +impl LinkedDataResource for Term, L> +where + T: LinkedDataResource, + B: LinkedDataResource, + L: LinkedDataResource, { fn interpretation( &self, @@ -250,7 +256,7 @@ impl< } } -impl LinkedDataResource for rdf_types::Literal { +impl LinkedDataResource for rdf_types::Literal { fn interpretation( &self, _vocabulary: &mut V, @@ -262,8 +268,9 @@ impl LinkedDataResource for rdf_types::L } } -impl> LinkedDataResource - for Option +impl LinkedDataResource for Option +where + T: LinkedDataResource, { fn interpretation( &self, diff --git a/src/subject.rs b/src/subject.rs index e337766..9c1ffeb 100644 --- a/src/subject.rs +++ b/src/subject.rs @@ -26,8 +26,9 @@ impl LinkedDataSubject for () { } } -impl> - LinkedDataSubject for &T +impl LinkedDataSubject for &T +where + T: ?Sized + LinkedDataSubject, { fn accept_subject_visitor(&self, visitor: S) -> Result where @@ -37,8 +38,9 @@ impl> } } -impl> LinkedDataSubject - for Box +impl LinkedDataSubject for Box +where + T: ?Sized + LinkedDataSubject, { fn accept_subject_visitor(&self, visitor: S) -> Result where @@ -111,7 +113,11 @@ pub trait SubjectVisitor { T: ?Sized + LinkedDataPredicateObjects; /// Visit a reverse predicate of the graph. - fn visit_reverse_predicate(&mut self, predicate: &L, subjects: &T) -> Result<(), Self::Error> + fn visit_reverse_predicate( + &mut self, + predicate: &L, + subjects: &T, + ) -> Result<(), Self::Error> where L: ?Sized + LinkedDataResource, T: ?Sized + LinkedDataPredicateObjects; @@ -127,8 +133,9 @@ pub trait SubjectVisitor { fn end(self) -> Result; } -impl> SubjectVisitor - for &mut S +impl SubjectVisitor for &mut S +where + S: SubjectVisitor, { type Ok = (); type Error = S::Error; @@ -141,7 +148,11 @@ impl> SubjectVisitor(&mut self, predicate: &L, subjects: &T) -> Result<(), Self::Error> + fn visit_reverse_predicate( + &mut self, + predicate: &L, + subjects: &T, + ) -> Result<(), Self::Error> where L: ?Sized + LinkedDataResource, T: ?Sized + LinkedDataPredicateObjects, From 6ad6f539903805dd8d5d75d23526cb5269dc8478 Mon Sep 17 00:00:00 2001 From: Gordian Dziwis Date: Sat, 29 Mar 2025 12:09:23 +0100 Subject: [PATCH 15/15] Rename subject to visit_subject --- derive/src/generate/ser/enum.rs | 4 ++-- derive/src/generate/ser/struct.rs | 2 +- src/anonymous.rs | 2 +- src/graph.rs | 10 +++++----- src/impl/rdf_types/dataset_view.rs | 4 ++-- src/quads.rs | 2 +- src/reference.rs | 2 +- 7 files changed, 13 insertions(+), 13 deletions(-) diff --git a/derive/src/generate/ser/enum.rs b/derive/src/generate/ser/enum.rs index adc15d9..b74fbf1 100644 --- a/derive/src/generate/ser/enum.rs +++ b/derive/src/generate/ser/enum.rs @@ -583,7 +583,7 @@ fn variant_visit_graph( } VariantShape::Unit => { quote! { - visitor.subject(::linked_data::iref::Iri::new(#iri).unwrap())?; + visitor.visit_subject(::linked_data::iref::Iri::new(#iri).unwrap())?; visitor.end() } } @@ -878,7 +878,7 @@ fn variant_subject_type( where S_: ::linked_data::GraphVisitor { - visitor.subject(self)?; + visitor.visit_subject(self)?; visitor.end() } } diff --git a/derive/src/generate/ser/struct.rs b/derive/src/generate/ser/struct.rs index bfe01f1..43f5508 100644 --- a/derive/src/generate/ser/struct.rs +++ b/derive/src/generate/ser/struct.rs @@ -110,7 +110,7 @@ pub fn generate( where S_: ::linked_data::GraphVisitor { - visitor.subject(self)?; + visitor.visit_subject(self)?; visitor.end() } } diff --git a/src/anonymous.rs b/src/anonymous.rs index a14beb6..49d32da 100644 --- a/src/anonymous.rs +++ b/src/anonymous.rs @@ -62,7 +62,7 @@ where where S: GraphVisitor, { - visitor.subject(self)?; + visitor.visit_subject(self)?; visitor.end() } } diff --git a/src/graph.rs b/src/graph.rs index db031ee..776eacc 100644 --- a/src/graph.rs +++ b/src/graph.rs @@ -71,7 +71,7 @@ where S: GraphVisitor, { for t in self { - visitor.subject(t)?; + visitor.visit_subject(t)?; } visitor.end() } @@ -86,7 +86,7 @@ where S: GraphVisitor, { for t in self { - visitor.subject(t)?; + visitor.visit_subject(t)?; } visitor.end() } @@ -96,7 +96,7 @@ pub trait GraphVisitor { type Ok; type Error; - fn subject(&mut self, value: &T) -> Result<(), Self::Error> + fn visit_subject(&mut self, value: &T) -> Result<(), Self::Error> where T: ?Sized + LinkedDataResource + LinkedDataSubject; @@ -110,11 +110,11 @@ where type Ok = (); type Error = S::Error; - fn subject(&mut self, value: &T) -> Result<(), Self::Error> + fn visit_subject(&mut self, value: &T) -> Result<(), Self::Error> where T: ?Sized + LinkedDataResource + LinkedDataSubject, { - S::subject(self, value) + S::visit_subject(self, value) } fn end(self) -> Result { diff --git a/src/impl/rdf_types/dataset_view.rs b/src/impl/rdf_types/dataset_view.rs index dd78ab3..f12dc8f 100644 --- a/src/impl/rdf_types/dataset_view.rs +++ b/src/impl/rdf_types/dataset_view.rs @@ -44,7 +44,7 @@ where } for subject in graph_subjects { - visitor.subject(&Subject::new( + visitor.visit_subject(&Subject::new( self.dataset, self.graph, subject, @@ -322,7 +322,7 @@ where } for subject in graph_subjects { - visitor.subject(&Subject::new( + visitor.visit_subject(&Subject::new( self.dataset, Some(self.graph), subject, diff --git a/src/quads.rs b/src/quads.rs index 7c8bab7..2475cc7 100644 --- a/src/quads.rs +++ b/src/quads.rs @@ -984,7 +984,7 @@ impl> GraphVisitor type Ok = (); type Error = IntoQuadsError; - fn subject(&mut self, value: &T) -> Result<(), Self::Error> + fn visit_subject(&mut self, value: &T) -> Result<(), Self::Error> where T: ?Sized + LinkedDataResource + crate::LinkedDataSubject, { diff --git a/src/reference.rs b/src/reference.rs index 8c77577..e5b8284 100644 --- a/src/reference.rs +++ b/src/reference.rs @@ -58,7 +58,7 @@ where where S: crate::GraphVisitor, { - visitor.subject(self)?; + visitor.visit_subject(self)?; visitor.end() } }