@@ -41,11 +41,25 @@ use super::Checksum;
4141use super :: HttpCache ;
4242use super :: HttpCacheItemKey ;
4343
44- /// A vendor/ folder http cache for the lsp that provides functionality
45- /// for doing a reverse mapping.
46- #[ derive( Debug ) ]
47- pub struct LocalLspHttpCache <
48- TSys : FsCreateDirAll
44+ pub trait LocalHttpCacheSys :
45+ FsCreateDirAll
46+ + FsMetadata
47+ + FsOpen
48+ + FsRead
49+ + FsRemoveFile
50+ + FsRename
51+ + ThreadSleep
52+ + SystemRandom
53+ + SystemTimeNow
54+ + MaybeSend
55+ + MaybeSync
56+ + std:: fmt:: Debug
57+ + Clone
58+ {
59+ }
60+
61+ impl < T > LocalHttpCacheSys for T where
62+ T : FsCreateDirAll
4963 + FsMetadata
5064 + FsOpen
5165 + FsRead
@@ -57,27 +71,18 @@ pub struct LocalLspHttpCache<
5771 + MaybeSend
5872 + MaybeSync
5973 + std:: fmt:: Debug
60- + Clone ,
61- > {
74+ + Clone
75+ {
76+ }
77+
78+ /// A vendor/ folder http cache for the lsp that provides functionality
79+ /// for doing a reverse mapping.
80+ #[ derive( Debug ) ]
81+ pub struct LocalLspHttpCache < TSys : LocalHttpCacheSys > {
6282 cache : LocalHttpCache < TSys > ,
6383}
6484
65- impl <
66- TSys : FsCreateDirAll
67- + FsMetadata
68- + FsOpen
69- + FsRead
70- + FsRemoveFile
71- + FsRename
72- + ThreadSleep
73- + SystemRandom
74- + SystemTimeNow
75- + MaybeSend
76- + MaybeSync
77- + std:: fmt:: Debug
78- + Clone ,
79- > LocalLspHttpCache < TSys >
80- {
85+ impl < TSys : LocalHttpCacheSys > LocalLspHttpCache < TSys > {
8186 pub fn new ( path : PathBuf , global_cache : GlobalHttpCacheRc < TSys > ) -> Self {
8287 #[ cfg( not( feature = "wasm" ) ) ]
8388 assert ! ( path. is_absolute( ) ) ;
@@ -185,22 +190,7 @@ impl<
185190 }
186191}
187192
188- impl <
189- TSys : FsCreateDirAll
190- + FsMetadata
191- + FsOpen
192- + FsRead
193- + FsRemoveFile
194- + FsRename
195- + ThreadSleep
196- + SystemRandom
197- + SystemTimeNow
198- + MaybeSend
199- + MaybeSync
200- + std:: fmt:: Debug
201- + Clone ,
202- > HttpCache for LocalLspHttpCache < TSys >
203- {
193+ impl < TSys : LocalHttpCacheSys > HttpCache for LocalLspHttpCache < TSys > {
204194 fn cache_item_key < ' a > (
205195 & self ,
206196 url : & ' a Url ,
@@ -255,43 +245,14 @@ impl<
255245pub type LocalHttpCacheRc < TSys > = crate :: sync:: MaybeArc < LocalHttpCache < TSys > > ;
256246
257247#[ derive( Debug ) ]
258- pub struct LocalHttpCache <
259- TSys : FsCreateDirAll
260- + FsMetadata
261- + FsOpen
262- + FsRead
263- + FsRemoveFile
264- + FsRename
265- + ThreadSleep
266- + SystemRandom
267- + SystemTimeNow
268- + MaybeSend
269- + MaybeSync
270- + std:: fmt:: Debug
271- + Clone ,
272- > {
248+ pub struct LocalHttpCache < TSys : LocalHttpCacheSys > {
273249 path : PathBuf ,
274250 manifest : LocalCacheManifest < TSys > ,
275251 global_cache : GlobalHttpCacheRc < TSys > ,
276252 allow_global_to_local : GlobalToLocalCopy ,
277253}
278254
279- impl <
280- TSys : FsCreateDirAll
281- + FsMetadata
282- + FsOpen
283- + FsRead
284- + FsRemoveFile
285- + FsRename
286- + ThreadSleep
287- + SystemRandom
288- + SystemTimeNow
289- + MaybeSend
290- + MaybeSync
291- + std:: fmt:: Debug
292- + Clone ,
293- > LocalHttpCache < TSys >
294- {
255+ impl < TSys : LocalHttpCacheSys > LocalHttpCache < TSys > {
295256 pub fn new (
296257 path : PathBuf ,
297258 global_cache : GlobalHttpCacheRc < TSys > ,
@@ -373,22 +334,7 @@ impl<
373334 }
374335}
375336
376- impl <
377- TSys : FsCreateDirAll
378- + FsMetadata
379- + FsOpen
380- + FsRead
381- + FsRemoveFile
382- + FsRename
383- + ThreadSleep
384- + SystemRandom
385- + SystemTimeNow
386- + MaybeSend
387- + MaybeSync
388- + std:: fmt:: Debug
389- + Clone ,
390- > HttpCache for LocalHttpCache < TSys >
391- {
337+ impl < TSys : LocalHttpCacheSys > HttpCache for LocalHttpCache < TSys > {
392338 fn cache_item_key < ' a > (
393339 & self ,
394340 url : & ' a Url ,
0 commit comments