@@ -42,82 +42,33 @@ pub(crate) fn resolution_tags<'env>(
4242 python_platform : Option < & TargetTriple > ,
4343 interpreter : & ' env Interpreter ,
4444) -> Result < Cow < ' env , Tags > , TagsError > {
45- Ok ( match ( python_platform, python_version. as_ref ( ) ) {
46- ( Some ( python_platform) , Some ( python_version) ) => Cow :: Owned ( Tags :: from_env (
47- & python_platform. platform ( ) ,
48- ( python_version. major ( ) , python_version. minor ( ) ) ,
49- interpreter. implementation_name ( ) ,
50- interpreter. implementation_tuple ( ) ,
51- python_platform. manylinux_compatible ( ) ,
52- interpreter. gil_disabled ( ) ,
53- ) ?) ,
54- ( Some ( python_platform) , None ) => Cow :: Owned ( Tags :: from_env (
55- & python_platform. platform ( ) ,
56- interpreter. python_tuple ( ) ,
57- interpreter. implementation_name ( ) ,
58- interpreter. implementation_tuple ( ) ,
59- python_platform. manylinux_compatible ( ) ,
60- interpreter. gil_disabled ( ) ,
61- ) ?) ,
62- ( None , Some ( python_version) ) => Cow :: Owned ( Tags :: from_env (
63- interpreter. platform ( ) ,
64- ( python_version. major ( ) , python_version. minor ( ) ) ,
65- interpreter. implementation_name ( ) ,
66- interpreter. implementation_tuple ( ) ,
67- interpreter. manylinux_compatible ( ) ,
68- interpreter. gil_disabled ( ) ,
69- ) ?) ,
70- ( None , None ) => Cow :: Borrowed ( interpreter. tags ( ) ?) ,
71- } )
72- }
45+ if python_platform. is_none ( ) && python_version. is_none ( ) {
46+ return Ok ( Cow :: Borrowed ( interpreter. tags ( ) ?) ) ;
47+ }
7348
74- /// Determine the tags, markers, and interpreter to use for resolution.
75- pub ( crate ) fn resolution_environment (
76- python_version : Option < PythonVersion > ,
77- python_platform : Option < TargetTriple > ,
78- interpreter : & Interpreter ,
79- ) -> Result < ( Cow < ' _ , Tags > , ResolverMarkerEnvironment ) , TagsError > {
80- let tags = match ( python_platform, python_version. as_ref ( ) ) {
81- ( Some ( python_platform) , Some ( python_version) ) => Cow :: Owned ( Tags :: from_env (
49+ let ( platform, manylinux_compatible) = if let Some ( python_platform) = python_platform {
50+ (
8251 & python_platform. platform ( ) ,
83- ( python_version. major ( ) , python_version. minor ( ) ) ,
84- interpreter. implementation_name ( ) ,
85- interpreter. implementation_tuple ( ) ,
8652 python_platform. manylinux_compatible ( ) ,
87- interpreter. gil_disabled ( ) ,
88- ) ?) ,
89- ( Some ( python_platform) , None ) => Cow :: Owned ( Tags :: from_env (
90- & python_platform. platform ( ) ,
91- interpreter. python_tuple ( ) ,
92- interpreter. implementation_name ( ) ,
93- interpreter. implementation_tuple ( ) ,
94- python_platform. manylinux_compatible ( ) ,
95- interpreter. gil_disabled ( ) ,
96- ) ?) ,
97- ( None , Some ( python_version) ) => Cow :: Owned ( Tags :: from_env (
98- interpreter. platform ( ) ,
99- ( python_version. major ( ) , python_version. minor ( ) ) ,
100- interpreter. implementation_name ( ) ,
101- interpreter. implementation_tuple ( ) ,
102- interpreter. manylinux_compatible ( ) ,
103- interpreter. gil_disabled ( ) ,
104- ) ?) ,
105- ( None , None ) => Cow :: Borrowed ( interpreter. tags ( ) ?) ,
53+ )
54+ } else {
55+ ( interpreter. platform ( ) , interpreter. manylinux_compatible ( ) )
10656 } ;
10757
108- // Apply the platform tags to the markers.
109- let markers = match ( python_platform, python_version) {
110- ( Some ( python_platform) , Some ( python_version) ) => ResolverMarkerEnvironment :: from (
111- python_version. markers ( & python_platform. markers ( interpreter. markers ( ) ) ) ,
112- ) ,
113- ( Some ( python_platform) , None ) => {
114- ResolverMarkerEnvironment :: from ( python_platform. markers ( interpreter. markers ( ) ) )
115- }
116- ( None , Some ( python_version) ) => {
117- ResolverMarkerEnvironment :: from ( python_version. markers ( interpreter. markers ( ) ) )
118- }
119- ( None , None ) => interpreter. resolver_marker_environment ( ) ,
58+ let version_tuple = if let Some ( python_version) = python_version {
59+ ( python_version. major ( ) , python_version. minor ( ) )
60+ } else {
61+ interpreter. python_tuple ( )
12062 } ;
12163
122- Ok ( ( tags, markers) )
64+ let tags = Tags :: from_env (
65+ platform,
66+ version_tuple,
67+ interpreter. implementation_name ( ) ,
68+ interpreter. implementation_tuple ( ) ,
69+ manylinux_compatible,
70+ interpreter. gil_disabled ( ) ,
71+ true ,
72+ ) ?;
73+ Ok ( Cow :: Owned ( tags) )
12374}
0 commit comments