@@ -276,6 +276,15 @@ pub struct ExternEntry {
276
276
pub public : bool
277
277
}
278
278
279
+ impl ExternEntry {
280
+ pub fn new_public ( location : Option < String > ) -> ExternEntry {
281
+ ExternEntry {
282
+ location,
283
+ public : true
284
+ }
285
+ }
286
+ }
287
+
279
288
impl Externs {
280
289
pub fn new ( data : BTreeMap < String , BTreeSet < ExternEntry > > ) -> Externs {
281
290
Externs ( data)
@@ -2677,7 +2686,7 @@ mod tests {
2677
2686
build_session_options_and_crate_config,
2678
2687
to_crate_config
2679
2688
} ;
2680
- use crate :: session:: config:: { LtoCli , LinkerPluginLto } ;
2689
+ use crate :: session:: config:: { LtoCli , LinkerPluginLto , ExternEntry } ;
2681
2690
use crate :: session:: build_session;
2682
2691
use crate :: session:: search_paths:: SearchPath ;
2683
2692
use std:: collections:: { BTreeMap , BTreeSet } ;
@@ -2823,33 +2832,45 @@ mod tests {
2823
2832
v1. externs = Externs :: new ( mk_map ( vec ! [
2824
2833
(
2825
2834
String :: from( "a" ) ,
2826
- mk_set( vec![ Some ( String :: from( "b" ) ) , Some ( String :: from( "c" ) ) ] ) ,
2835
+ mk_set( vec![ ExternEntry :: new_public( Some ( String :: from( "b" ) ) ) ,
2836
+ ExternEntry :: new_public( Some ( String :: from( "c" ) ) )
2837
+ ] ) ,
2827
2838
) ,
2828
2839
(
2829
2840
String :: from( "d" ) ,
2830
- mk_set( vec![ Some ( String :: from( "e" ) ) , Some ( String :: from( "f" ) ) ] ) ,
2841
+ mk_set( vec![ ExternEntry :: new_public( Some ( String :: from( "e" ) ) ) ,
2842
+ ExternEntry :: new_public( Some ( String :: from( "f" ) ) )
2843
+ ] ) ,
2831
2844
) ,
2832
2845
] ) ) ;
2833
2846
2834
2847
v2. externs = Externs :: new ( mk_map ( vec ! [
2835
2848
(
2836
2849
String :: from( "d" ) ,
2837
- mk_set( vec![ Some ( String :: from( "e" ) ) , Some ( String :: from( "f" ) ) ] ) ,
2850
+ mk_set( vec![ ExternEntry :: new_public( Some ( String :: from( "e" ) ) ) ,
2851
+ ExternEntry :: new_public( Some ( String :: from( "f" ) ) )
2852
+ ] ) ,
2838
2853
) ,
2839
2854
(
2840
2855
String :: from( "a" ) ,
2841
- mk_set( vec![ Some ( String :: from( "b" ) ) , Some ( String :: from( "c" ) ) ] ) ,
2856
+ mk_set( vec![ ExternEntry :: new_public( Some ( String :: from( "b" ) ) ) ,
2857
+ ExternEntry :: new_public( Some ( String :: from( "c" ) ) )
2858
+ ] ) ,
2842
2859
) ,
2843
2860
] ) ) ;
2844
2861
2845
2862
v3. externs = Externs :: new ( mk_map ( vec ! [
2846
2863
(
2847
2864
String :: from( "a" ) ,
2848
- mk_set( vec![ Some ( String :: from( "b" ) ) , Some ( String :: from( "c" ) ) ] ) ,
2865
+ mk_set( vec![ ExternEntry :: new_public( Some ( String :: from( "b" ) ) ) ,
2866
+ ExternEntry :: new_public( Some ( String :: from( "c" ) ) )
2867
+ ] ) ,
2849
2868
) ,
2850
2869
(
2851
2870
String :: from( "d" ) ,
2852
- mk_set( vec![ Some ( String :: from( "f" ) ) , Some ( String :: from( "e" ) ) ] ) ,
2871
+ mk_set( vec![ ExternEntry :: new_public( Some ( String :: from( "f" ) ) ) ,
2872
+ ExternEntry :: new_public( Some ( String :: from( "e" ) ) )
2873
+ ] ) ,
2853
2874
) ,
2854
2875
] ) ) ;
2855
2876
0 commit comments