diff options
author | ppedrot <ppedrot@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2013-09-18 18:29:40 +0000 |
---|---|---|
committer | ppedrot <ppedrot@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2013-09-18 18:29:40 +0000 |
commit | 33eea163c72c70eaa3bf76506c1d07a8cde911fd (patch) | |
tree | 69eb4394fc0eb748fa16609e86dbf941234157d8 /kernel/evar.ml | |
parent | 71a9b7f264721b8afe5081bb0e13bcf8759d8403 (diff) |
At least made the evar type opaque! There are still 5 remaining unsafe
casts of ints to evars.
- 2 in Evarutil and Goal which are really needed, even though the Goal
one could (and should) be removed;
- 2 in G_xml and Detyping that are there for completeness sake, but
that might be made anomalies altogether;
- 1 in Newring which is quite dubious at best, and should be fixed.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16786 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'kernel/evar.ml')
-rw-r--r-- | kernel/evar.ml | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/kernel/evar.ml b/kernel/evar.ml new file mode 100644 index 000000000..d7e32626f --- /dev/null +++ b/kernel/evar.ml @@ -0,0 +1,24 @@ +(************************************************************************) +(* v * The Coq Proof Assistant / The Coq Development Team *) +(* <O___,, * INRIA - CNRS - LIX - LRI - PPS - Copyright 1999-2012 *) +(* \VV/ **************************************************************) +(* // * This file is distributed under the terms of the *) +(* * GNU Lesser General Public License Version 2.1 *) +(************************************************************************) + +type t = int + +let repr x = x +let unsafe_of_int x = x +let compare = Int.compare +let equal = Int.equal + +module Self = +struct + type _t = t + type t = _t + let compare = compare +end + +module Set = Set.Make(Self) +module Map = CMap.Make(Self) |