aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorKazuhiko Sakaguchi2019-06-07 13:01:41 +0200
committerGaëtan Gilbert2019-07-02 09:03:07 +0200
commita4dcca3c2e08059848bde1c47c2aa76d78a9555d (patch)
tree9e477686c491fd570d17cdfcbca87e4a51c58e7c /doc
parent47389d31c0aa6fafa1c696b1e6f06059751a8217 (diff)
Improve the ambiguous paths warning to indicate which path is ambiguous with new one
Diffstat (limited to 'doc')
-rw-r--r--doc/changelog/07-commands-and-options/10336-ambiguous-paths.rst5
-rw-r--r--doc/sphinx/addendum/implicit-coercions.rst20
2 files changed, 18 insertions, 7 deletions
diff --git a/doc/changelog/07-commands-and-options/10336-ambiguous-paths.rst b/doc/changelog/07-commands-and-options/10336-ambiguous-paths.rst
new file mode 100644
index 0000000000..151c400b2c
--- /dev/null
+++ b/doc/changelog/07-commands-and-options/10336-ambiguous-paths.rst
@@ -0,0 +1,5 @@
+- Improve the ambiguous paths warning to indicate which path is ambiguous with
+ new one
+ (`#10336 <https://github.com/coq/coq/pull/10336>`_,
+ closes `#3219 <https://github.com/coq/coq/issues/3219>`_,
+ by Kazuhiko Sakaguchi).
diff --git a/doc/sphinx/addendum/implicit-coercions.rst b/doc/sphinx/addendum/implicit-coercions.rst
index d5523e8561..7fee62179b 100644
--- a/doc/sphinx/addendum/implicit-coercions.rst
+++ b/doc/sphinx/addendum/implicit-coercions.rst
@@ -145,19 +145,25 @@ Declaring Coercions
.. exn:: Cannot recognize @class as a source class of @qualid.
:undocumented:
- .. exn:: @qualid does not respect the uniform inheritance condition.
+ .. warn:: @qualid does not respect the uniform inheritance condition.
:undocumented:
.. exn:: Found target class ... instead of ...
:undocumented:
- .. warn:: Ambiguous path.
+ .. warn:: New coercion path ... is ambiguous with existing ...
- When the coercion :token:`qualid` is added to the inheritance graph,
- invalid coercion paths are ignored. The :cmd:`Coercion` command tries to check
- that they are convertible with existing ones on the same classes.
- The paths for which this check fails are displayed by a warning in the form
- :g:`[f₁;..;fₙ] : C >-> D`.
+ When the coercion :token:`qualid` is added to the inheritance graph, new
+ coercion paths which have the same classes as existing ones are ignored.
+ The :cmd:`Coercion` command tries to check the convertibility of new ones and
+ existing ones. The paths for which this check fails are displayed by a warning
+ in the form :g:`[f₁;..;fₙ] : C >-> D`.
+
+ The convertibility checking procedure for coercion paths is complete for
+ paths consisting of coercions satisfying the uniform inheritance condition,
+ but some coercion paths could be reported as ambiguous even if they are
+ convertible with existing ones when they have coercions that don't satisfy
+ the uniform inheritance condition.
.. cmdv:: Local Coercion @qualid : @class >-> @class