You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Class A := { a : Type }.
Class B := { ba ::> A }.
(** No coercion! *)PrintCoercions.
PrintHintDb typeclass_instances.
Record B' := { ba' ::> A }.
(** Coercion registered as expected. *)PrintCoercions.
PrintHintDb typeclass_instances.
Version of Coq where this bug occurs
8.19.1
Last version of Coq where the bug did not occur
No response
The text was updated successfully, but these errors were encountered:
Alizter
added
kind: bug
An error, flaw, fault or unintended behaviour.
needs: triage
The validity of this issue needs to be checked, or the issue itself updated.
labels
Apr 23, 2024
Sounds consistent with the fact that ::> means both :: and :>. Will be fixed in 8.21 when the deprecation phase will finally be over. Is it worth changing in 8.20?
@proux01 Not worth changing I suppose, but I guess you should add this test when the deprecation phase is over. There is also no warning compared to using :> directly in a class.
Description of the problem
There is a difference in behaviour of
::>
when in a record or in an class. In both cases::>
is expected to register an instance and a coercion.When
::>
is given in a record, it works as expected. However when::>
is given in a class, only the instance is declared and the coercion is ignored.cc @proux01
Small Coq file to reproduce the bug
Version of Coq where this bug occurs
8.19.1
Last version of Coq where the bug did not occur
No response
The text was updated successfully, but these errors were encountered: