File tree Expand file tree Collapse file tree 1 file changed +11
-18
lines changed
crates/ra_project_model/src Expand file tree Collapse file tree 1 file changed +11
-18
lines changed Original file line number Diff line number Diff line change @@ -152,24 +152,17 @@ impl ProjectWorkspace {
152152
153153 pub fn proc_macro_dylib_paths ( & self ) -> Vec < PathBuf > {
154154 match self {
155- ProjectWorkspace :: Json { project } => {
156- let mut proc_macro_dylib_paths = Vec :: with_capacity ( project. crates . len ( ) ) ;
157- for krate in & project. crates {
158- if let Some ( out_dir) = & krate. proc_macro_dylib_path {
159- proc_macro_dylib_paths. push ( out_dir. to_path_buf ( ) ) ;
160- }
161- }
162- proc_macro_dylib_paths
163- }
164- ProjectWorkspace :: Cargo { cargo, sysroot : _sysroot } => {
165- let mut proc_macro_dylib_paths = Vec :: with_capacity ( cargo. packages ( ) . len ( ) ) ;
166- for pkg in cargo. packages ( ) {
167- if let Some ( dylib_path) = & cargo[ pkg] . proc_macro_dylib_path {
168- proc_macro_dylib_paths. push ( dylib_path. to_path_buf ( ) ) ;
169- }
170- }
171- proc_macro_dylib_paths
172- }
155+ ProjectWorkspace :: Json { project } => project
156+ . crates
157+ . iter ( )
158+ . filter_map ( |krate| krate. proc_macro_dylib_path . as_ref ( ) )
159+ . cloned ( )
160+ . collect ( ) ,
161+ ProjectWorkspace :: Cargo { cargo, sysroot : _sysroot } => cargo
162+ . packages ( )
163+ . filter_map ( |pkg| cargo[ pkg] . proc_macro_dylib_path . as_ref ( ) )
164+ . cloned ( )
165+ . collect ( ) ,
173166 }
174167 }
175168
You can’t perform that action at this time.
0 commit comments