Module Qualification. (* test that field mismatch errors print the qualified fields *)
ModuleType EasyT. Definition x := O. End EasyT. Module EasyM. Definition x := S O. End EasyM.
Fail Module Easytest <: EasyT := EasyM.
ModuleType A. Module B. Module C. Definition x := O. End C. End B. End A. ModuleType A'. Module B. Module C. Definition x := S O. End C. End B. End A'. Module Av. Include A'. End Av.
Fail Module test <: A := Av. (* was Error: Signature components for field C do not match: the body of definitions differs. *)
ModuleType FT (X:A). End FT. Module F (X:A'). End F.
Fail Module Ftest <: FT := F.
ModuleType FXT. Module F (X:A). End F. End FXT.
Module FX. Module F (X:A'). End F. End FX.
Fail Module FXtest <: FXT := FX. End Qualification.
Module PrintBound. (* printing an inductive from a bound module in an error from the
command where the bound module is introduced *) ModuleType E. End E.
ModuleType T. Inductive t : Prop := . Parameter v : t -> t. End T.
ModuleType FE(A:E). Inductive t : Prop :=. Parameter v : t -> Prop. End FE.
ModuleType FT(A:T). End FT.
Module VE. End VE.
Fail Module F (A1:FE VE) (A2:FT A1). End PrintBound.
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.