File tree Expand file tree Collapse file tree 1 file changed +15
-2
lines changed Expand file tree Collapse file tree 1 file changed +15
-2
lines changed Original file line number Diff line number Diff line change @@ -293,12 +293,25 @@ impl CargoWorkspace {
293293 }
294294 meta. current_dir ( current_dir. as_os_str ( ) ) ;
295295
296- let mut other_options = config. extra_args . clone ( ) ;
296+ let mut other_options = vec ! [ ] ;
297+ // cargo metadata only supports a subset of flags of what cargo usually accepts, and usually
298+ // the only relevant flags for metadata here are unstable ones, so we pass those along
299+ // but nothing else
300+ let mut extra_args = config. extra_args . iter ( ) ;
301+ while let Some ( arg) = extra_args. next ( ) {
302+ if arg == "-Z" {
303+ if let Some ( arg) = extra_args. next ( ) {
304+ other_options. push ( "-Z" . to_owned ( ) ) ;
305+ other_options. push ( arg. to_owned ( ) ) ;
306+ }
307+ }
308+ }
309+
297310 if !targets. is_empty ( ) {
298311 other_options. append (
299312 & mut targets
300313 . into_iter ( )
301- . flat_map ( |target| [ "--filter-platform" . to_string ( ) , target] )
314+ . flat_map ( |target| [ "--filter-platform" . to_owned ( ) . to_string ( ) , target] )
302315 . collect ( ) ,
303316 ) ;
304317 }
You can’t perform that action at this time.
0 commit comments