@@ -198,7 +198,7 @@ example).
198198Example: licenses
199199-----------------
200200
201- As another example, a package could specify it's license(s):
201+ As another example, a package could specify its license(s):
202202
203203.. code-block :: toml
204204
@@ -275,12 +275,10 @@ The fields that are arrays or tables with arbitrary entries are:
275275To add items, users must opt-in by listing the field in ``dynamic ``; without
276276that, the metadata continues to be entirely static.
277277
278- A backend SHOULD warn if a field is specified and it does not know how to
279- extend that field, to protect against possible user error, and MAY throw an
280- error instead. It should be noted, however, that mistakenly adding a field to
281- the ``dynamic `` array is not a serious mistake, as it only limits the ability
282- of a static tool to ensure completeness, so it is up to the discretion of the
283- backend if this warrants an error.
278+ A backend SHOULD error if a field is specified and it does not support
279+ extending that field, to protect against possible user error. We recommend
280+ being as strict as possible to avoid unnecessary entries in the ``dynamic ``
281+ list.
284282
285283Static analysis tools, when detecting a field is both specified and in the
286284``project.dynamic `` array, SHOULD assume the field is incomplete, allowing for
@@ -344,6 +342,10 @@ field. An example of such an update for the license field:
344342
345343* When also listed in ``dynamic ``: Can be extended with ``AND ``
346344
345+ It should also be noted that specifying something in dynamic will require any
346+ tool that requires the full metadata to invoke the backend even if it is
347+ partially statically specified, so it should not be used unless necessary.
348+
347349
348350Rejected Ideas
349351==============
0 commit comments