@@ -291,6 +291,15 @@ pub struct ExternEntry {
291
291
pub public : bool
292
292
}
293
293
294
+ impl ExternEntry {
295
+ pub fn new_public ( location : Option < String > ) -> ExternEntry {
296
+ ExternEntry {
297
+ location,
298
+ public : true
299
+ }
300
+ }
301
+ }
302
+
294
303
impl Externs {
295
304
pub fn new ( data : BTreeMap < String , BTreeSet < ExternEntry > > ) -> Externs {
296
305
Externs ( data)
@@ -2705,7 +2714,7 @@ mod tests {
2705
2714
build_session_options_and_crate_config,
2706
2715
to_crate_config
2707
2716
} ;
2708
- use crate :: session:: config:: { LtoCli , LinkerPluginLto , PgoGenerate } ;
2717
+ use crate :: session:: config:: { LtoCli , LinkerPluginLto , PgoGenerate , ExternEntry } ;
2709
2718
use crate :: session:: build_session;
2710
2719
use crate :: session:: search_paths:: SearchPath ;
2711
2720
use std:: collections:: { BTreeMap , BTreeSet } ;
@@ -2851,33 +2860,45 @@ mod tests {
2851
2860
v1. externs = Externs :: new ( mk_map ( vec ! [
2852
2861
(
2853
2862
String :: from( "a" ) ,
2854
- mk_set( vec![ Some ( String :: from( "b" ) ) , Some ( String :: from( "c" ) ) ] ) ,
2863
+ mk_set( vec![ ExternEntry :: new_public( Some ( String :: from( "b" ) ) ) ,
2864
+ ExternEntry :: new_public( Some ( String :: from( "c" ) ) )
2865
+ ] ) ,
2855
2866
) ,
2856
2867
(
2857
2868
String :: from( "d" ) ,
2858
- mk_set( vec![ Some ( String :: from( "e" ) ) , Some ( String :: from( "f" ) ) ] ) ,
2869
+ mk_set( vec![ ExternEntry :: new_public( Some ( String :: from( "e" ) ) ) ,
2870
+ ExternEntry :: new_public( Some ( String :: from( "f" ) ) )
2871
+ ] ) ,
2859
2872
) ,
2860
2873
] ) ) ;
2861
2874
2862
2875
v2. externs = Externs :: new ( mk_map ( vec ! [
2863
2876
(
2864
2877
String :: from( "d" ) ,
2865
- mk_set( vec![ Some ( String :: from( "e" ) ) , Some ( String :: from( "f" ) ) ] ) ,
2878
+ mk_set( vec![ ExternEntry :: new_public( Some ( String :: from( "e" ) ) ) ,
2879
+ ExternEntry :: new_public( Some ( String :: from( "f" ) ) )
2880
+ ] ) ,
2866
2881
) ,
2867
2882
(
2868
2883
String :: from( "a" ) ,
2869
- mk_set( vec![ Some ( String :: from( "b" ) ) , Some ( String :: from( "c" ) ) ] ) ,
2884
+ mk_set( vec![ ExternEntry :: new_public( Some ( String :: from( "b" ) ) ) ,
2885
+ ExternEntry :: new_public( Some ( String :: from( "c" ) ) )
2886
+ ] ) ,
2870
2887
) ,
2871
2888
] ) ) ;
2872
2889
2873
2890
v3. externs = Externs :: new ( mk_map ( vec ! [
2874
2891
(
2875
2892
String :: from( "a" ) ,
2876
- mk_set( vec![ Some ( String :: from( "b" ) ) , Some ( String :: from( "c" ) ) ] ) ,
2893
+ mk_set( vec![ ExternEntry :: new_public( Some ( String :: from( "b" ) ) ) ,
2894
+ ExternEntry :: new_public( Some ( String :: from( "c" ) ) )
2895
+ ] ) ,
2877
2896
) ,
2878
2897
(
2879
2898
String :: from( "d" ) ,
2880
- mk_set( vec![ Some ( String :: from( "f" ) ) , Some ( String :: from( "e" ) ) ] ) ,
2899
+ mk_set( vec![ ExternEntry :: new_public( Some ( String :: from( "f" ) ) ) ,
2900
+ ExternEntry :: new_public( Some ( String :: from( "e" ) ) )
2901
+ ] ) ,
2881
2902
) ,
2882
2903
] ) ) ;
2883
2904
0 commit comments