Skip to content

Commit a50bb27

Browse files
committed
Use string containment on version-or-string fields
1 parent fd2c2e2 commit a50bb27

1 file changed

Lines changed: 10 additions & 8 deletions

File tree

source/specifications/dependency-specifiers.rst

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -273,16 +273,18 @@ specifier, while locking and installation tools MAY either emit an error or else
273273
fall back to ``String`` field comparison logic if either the marker field value
274274
or the user supplied constant cannot be parsed as a valid version specifier.
275275
Note that ``in`` and ``not in`` containment checks are NOT valid for ``Version``
276-
fields.
276+
fields and publishing tools SHOULD emit an error, while locking and installation
277+
tools MAY treat them as always being False.
277278

278279
For ``Version | String`` fields, comparison operations are defined as they are
279-
for ``Version`` fields. However, there is no expectation that the parsing of
280-
the marker field value or the user supplied constant as a valid version will
281-
succeed, so tools MUST fall back to processing the field as a ``String`` field.
282-
Alternatively, tools MAY unconditionally treat such fields as ``String`` fields.
283-
Accordingly, comparisons that rely on these fields being processed as
284-
``Version`` field SHOULD NOT be used in environment markers published to public
285-
index servers, but they may be appropriate in more constrained environments.
280+
for ``Version`` fields, while ``in`` and ``not in`` containment checks are
281+
defined as they are for ``String`` fields. However, there is no expectation
282+
that the parsing of the marker field value or the user supplied constant as a
283+
valid version will succeed, so tools MUST fall back to processing the field as
284+
a ``String`` field. Alternatively, tools MAY unconditionally treat such fields
285+
as ``String`` fields. Due to this potential for variation across clients,
286+
comparisons that rely on these fields being processed as ``Version`` fields
287+
SHOULD NOT be used in environment markers published to public index servers.
286288

287289
Composing marker expressions
288290
''''''''''''''''''''''''''''

0 commit comments

Comments
 (0)