@@ -296,7 +296,63 @@ pub struct SimpleSemanticsQueryHandlerSpec {
296296 pub default_similarity_metric : VectorSimilarityMetric ,
297297}
298298
299- #[ derive( Debug , Clone , Serialize , Deserialize , PartialEq , Eq , Hash ) ]
300- pub struct AuthEntryReference {
299+ pub struct AuthEntryReference < T > {
301300 pub key : String ,
301+ _phantom : std:: marker:: PhantomData < T > ,
302+ }
303+
304+ impl < T > std:: fmt:: Debug for AuthEntryReference < T > {
305+ fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
306+ write ! ( f, "AuthEntryReference({})" , self . key)
307+ }
308+ }
309+
310+ impl < T > std:: fmt:: Display for AuthEntryReference < T > {
311+ fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
312+ write ! ( f, "AuthEntryReference({})" , self . key)
313+ }
314+ }
315+
316+ impl < T > Clone for AuthEntryReference < T > {
317+ fn clone ( & self ) -> Self {
318+ Self {
319+ key : self . key . clone ( ) ,
320+ _phantom : std:: marker:: PhantomData ,
321+ }
322+ }
323+ }
324+
325+ impl < T > Serialize for AuthEntryReference < T > {
326+ fn serialize < S > ( & self , serializer : S ) -> Result < S :: Ok , S :: Error >
327+ where
328+ S : serde:: Serializer ,
329+ {
330+ self . key . serialize ( serializer)
331+ }
332+ }
333+
334+ impl < ' de , T > Deserialize < ' de > for AuthEntryReference < T > {
335+ fn deserialize < D > ( deserializer : D ) -> Result < Self , D :: Error >
336+ where
337+ D : serde:: Deserializer < ' de > ,
338+ {
339+ Ok ( Self {
340+ key : String :: deserialize ( deserializer) ?,
341+ _phantom : std:: marker:: PhantomData ,
342+ } )
343+ }
344+ }
345+
346+ impl < T > PartialEq for AuthEntryReference < T > {
347+ fn eq ( & self , other : & Self ) -> bool {
348+ self . key == other. key
349+ }
350+ }
351+
352+ impl < T > Eq for AuthEntryReference < T > { }
353+
354+ impl < T > std:: hash:: Hash for AuthEntryReference < T > {
355+ fn hash < H : std:: hash:: Hasher > ( & self , state : & mut H ) {
356+ self . key . hash ( state) ;
357+ }
302358}
0 commit comments