This repository was archived by the owner on May 28, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 3 files changed +9
-10
lines changed Expand file tree Collapse file tree 3 files changed +9
-10
lines changed Original file line number Diff line number Diff line change @@ -176,7 +176,6 @@ dependencies = [
176176 " getopts" ,
177177 " ignore" ,
178178 " libc" ,
179- " merge" ,
180179 " num_cpus" ,
181180 " once_cell" ,
182181 " opener" ,
@@ -2220,12 +2219,6 @@ dependencies = [
22202219 " autocfg" ,
22212220]
22222221
2223- [[package ]]
2224- name = " merge"
2225- version = " 0.1.0"
2226- source = " registry+https://github.com/rust-lang/crates.io-index"
2227- checksum = " 10bbef93abb1da61525bbc45eeaff6473a41907d19f8f9aa5168d214e10693e9"
2228-
22292222[[package ]]
22302223name = " minifier"
22312224version = " 0.0.41"
Original file line number Diff line number Diff line change @@ -47,7 +47,6 @@ toml = "0.5"
4747time = " 0.1"
4848ignore = " 0.4.10"
4949opener = " 0.5"
50- merge = { version = " 0.1.0" , default-features = false , features = [" std" ] }
5150once_cell = " 1.7.2"
5251
5352[target .'cfg(windows)' .dependencies .winapi ]
Original file line number Diff line number Diff line change @@ -18,7 +18,6 @@ pub use crate::flags::Subcommand;
1818use crate :: flags:: { Color , Flags } ;
1919use crate :: util:: exe;
2020use build_helper:: t;
21- use merge:: Merge ;
2221use serde:: Deserialize ;
2322
2423macro_rules! check_ci_llvm {
@@ -334,6 +333,10 @@ struct TomlConfig {
334333 profile : Option < String > ,
335334}
336335
336+ trait Merge {
337+ fn merge ( & mut self , other : Self ) ;
338+ }
339+
337340impl Merge for TomlConfig {
338341 fn merge (
339342 & mut self ,
@@ -357,6 +360,8 @@ impl Merge for TomlConfig {
357360 }
358361}
359362
363+ // We are using a decl macro instead of a derive proc macro here to reduce the compile time of
364+ // rustbuild.
360365macro_rules! derive_merge {
361366 ( $( #[ $attr: meta] ) * struct $name: ident {
362367 $( $field: ident: $field_ty: ty, ) *
@@ -369,7 +374,9 @@ macro_rules! derive_merge {
369374 impl Merge for $name {
370375 fn merge( & mut self , other: Self ) {
371376 $(
372- Merge :: merge( & mut self . $field, other. $field) ;
377+ if !self . $field. is_some( ) {
378+ self . $field = other. $field;
379+ }
373380 ) *
374381 }
375382 }
You can’t perform that action at this time.
0 commit comments