SCM Repository
[smlnj] Diff of /sml/trunk/src/compiler/Semant/modules/instantiate.sml
Diff of /sml/trunk/src/compiler/Semant/modules/instantiate.sml
Parent Directory
|
Revision Log
|
Patch
1546 |
* in checkTycBinding in SigMatch. Fixes bugs 1364 and |
* in checkTycBinding in SigMatch. Fixes bugs 1364 and |
1547 |
* 1432. [DBM] |
* 1432. [DBM] |
1548 |
*) |
*) |
1549 |
fun fixUpTycEnt (TYCspec { spec = GENtyc { kind, ...}, |
fun fixUpTycEnt (TYCspec{spec=GENtyc{kind=DATATYPE _,...},...}, |
1550 |
repl, ... }, |
TYCent(tyc)) = |
|
ent as TYCent tyc) = |
|
|
let fun unwrap () = TYCent (TU.unWrapDefStar tyc) |
|
|
in |
|
|
case kind of |
|
|
DATATYPE _ => unwrap () |
|
1551 |
(* possible indirect datatype repl. See bug1432.7.sml *) |
(* possible indirect datatype repl. See bug1432.7.sml *) |
1552 |
| _ => if repl then unwrap () |
TYCent(TU.unWrapDefStar tyc) |
1553 |
|
| fixUpTycEnt (TYCspec{repl=true,...}, TYCent(tyc)) = |
1554 |
(* direct or indirect datatype repl. Original spec |
(* direct or indirect datatype repl. Original spec |
1555 |
* was a datatype spec. See bug1432.1.sml *) |
* was a datatype spec. See bug1432.1.sml *) |
1556 |
else ent |
TYCent(TU.unWrapDefStar tyc) |
|
end |
|
1557 |
| fixUpTycEnt (_, ent) = ent |
| fixUpTycEnt (_, ent) = ent |
1558 |
|
|
1559 |
fun mkEntEnv (baseEntC) = |
fun mkEntEnv (baseEntC) = |
|
Legend:
Removed from v.842 |
|
changed lines |
|
Added in v.843 |
|
|