From 744ef306ef71426dea6fcd6071f42a066d738b4d Mon Sep 17 00:00:00 2001 From: Emilio Jesus Gallego Arias Date: Thu, 23 Jul 2020 17:28:33 +0200 Subject: [changelog] Incorporate hanging changelog entry for 8.12+beta1 --- doc/sphinx/changes.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'doc/sphinx') diff --git a/doc/sphinx/changes.rst b/doc/sphinx/changes.rst index eb930362f5..0f501382e7 100644 --- a/doc/sphinx/changes.rst +++ b/doc/sphinx/changes.rst @@ -136,6 +136,18 @@ Specification language, type inference :cmd:`Arguments`) has been turned into an error (`#11368 `_, by SimonBoulier). +- **Changed:** + Typeclass resolution, accessible through :tacn:`typeclasses eauto`, + now suspends constraints according to their modes + instead of failing. If a typeclass constraint does not match + any of the declared modes for its class, the constraint is postponed, and + the proof search continues on other goals. Proof search does a fixed point + computation to try to solve them at a later stage of resolution. It does + not fail if there remain only stuck constraints at the end of resolution. + This makes typeclasses with declared modes more robust with respect to the + order of resolution. + (`#10858 `_, + fixes `#9058 _`, by Matthieu Sozeau). - **Added:** Warn when manual implicit arguments are used in unexpected positions of a term (e.g. in `Check id (forall {x}, x)`) or when an implicit -- cgit v1.2.3