@@ -20,7 +20,6 @@ use std::collections::HashMap;
2020use std:: hash:: { Hash , Hasher } ;
2121use std:: marker:: PhantomData ;
2222use std:: ops:: Deref ;
23- use std:: path:: PathBuf ;
2423use std:: sync:: { LazyLock , Mutex } ;
2524use std:: { fmt, mem} ;
2625
@@ -51,26 +50,11 @@ impl<T> PartialEq for Interned<T> {
5150}
5251impl < T > Eq for Interned < T > { }
5352
54- impl PartialEq < str > for Interned < String > {
55- fn eq ( & self , other : & str ) -> bool {
56- * self == other
57- }
58- }
5953impl PartialEq < & str > for Interned < String > {
6054 fn eq ( & self , other : & & str ) -> bool {
6155 * * self == * * other
6256 }
6357}
64- impl < T > PartialEq < & Interned < T > > for Interned < T > {
65- fn eq ( & self , other : & & Self ) -> bool {
66- self . 0 == other. 0
67- }
68- }
69- impl < T > PartialEq < Interned < T > > for & Interned < T > {
70- fn eq ( & self , other : & Interned < T > ) -> bool {
71- self . 0 == other. 0
72- }
73- }
7458
7559unsafe impl < T > Send for Interned < T > { }
7660unsafe impl < T > Sync for Interned < T > { }
@@ -188,8 +172,6 @@ impl<T: Hash + Clone + Eq> TyIntern<T> {
188172#[ derive( Default ) ]
189173pub struct Interner {
190174 strs : Mutex < TyIntern < String > > ,
191- paths : Mutex < TyIntern < PathBuf > > ,
192- lists : Mutex < TyIntern < Vec < String > > > ,
193175}
194176
195177/// Defines the behavior required for a type to be internable.
@@ -210,18 +192,6 @@ impl Internable for String {
210192 }
211193}
212194
213- impl Internable for PathBuf {
214- fn intern_cache ( ) -> & ' static Mutex < TyIntern < Self > > {
215- & INTERNER . paths
216- }
217- }
218-
219- impl Internable for Vec < String > {
220- fn intern_cache ( ) -> & ' static Mutex < TyIntern < Self > > {
221- & INTERNER . lists
222- }
223- }
224-
225195impl Interner {
226196 /// Interns a string reference, ensuring it is stored uniquely.
227197 ///
0 commit comments