1
1
use crate :: { SpirvBuilder , SpirvBuilderError , leaf_deps} ;
2
2
use notify:: { Event , RecommendedWatcher , RecursiveMode , Watcher } ;
3
3
use rustc_codegen_spirv_types:: CompileResult ;
4
- use std:: sync:: mpsc:: TrySendError ;
5
4
use std:: {
6
5
collections:: HashSet ,
7
6
path:: PathBuf ,
8
- sync:: mpsc:: { Receiver , sync_channel} ,
7
+ sync:: mpsc:: { Receiver , TrySendError , sync_channel} ,
9
8
} ;
10
9
11
10
impl SpirvBuilder {
@@ -50,11 +49,9 @@ impl SpirvWatcher {
50
49
| notify:: EventKind :: Modify ( _)
51
50
| notify:: EventKind :: Remove ( _)
52
51
| notify:: EventKind :: Other => match tx. try_send ( ( ) ) {
53
- Ok ( _) => ( ) ,
54
52
// disconnect is fine, SpirvWatcher is currently dropping
55
- Err ( TrySendError :: Disconnected ( _) ) => ( ) ,
56
53
// full is fine, we just need to send a single event anyway
57
- Err ( TrySendError :: Full ( _) ) => ( ) ,
54
+ Ok ( _ ) | Err ( TrySendError :: Disconnected ( _ ) | TrySendError :: Full ( _) ) => { }
58
55
} ,
59
56
notify:: EventKind :: Access ( _) => { }
60
57
} ,
@@ -81,7 +78,9 @@ impl SpirvWatcher {
81
78
return self . recv_first_result ( ) ;
82
79
}
83
80
84
- self . rx . recv ( ) . map_err ( |_| SpirvWatcherError :: WatcherDied ) ?;
81
+ self . rx
82
+ . recv ( )
83
+ . map_err ( |_err| SpirvWatcherError :: WatcherDied ) ?;
85
84
let metadata_file = crate :: invoke_rustc ( & self . builder ) ?;
86
85
let result = self . builder . parse_metadata_file ( & metadata_file) ?;
87
86
@@ -100,7 +99,9 @@ impl SpirvWatcher {
100
99
. watch ( watch_path, RecursiveMode :: Recursive )
101
100
. map_err ( SpirvWatcherError :: NotifyFailed ) ?;
102
101
let path = loop {
103
- self . rx . recv ( ) . map_err ( |_| SpirvWatcherError :: WatcherDied ) ?;
102
+ self . rx
103
+ . recv ( )
104
+ . map_err ( |_err| SpirvWatcherError :: WatcherDied ) ?;
104
105
match crate :: invoke_rustc ( & self . builder ) {
105
106
Ok ( path) => break path,
106
107
Err ( err) => log:: error!( "{err}" ) ,
0 commit comments