From b939cb83955b37a393d40a8d1ad95cafe21622e4 Mon Sep 17 00:00:00 2001 From: Andrei Paskevich Date: Mon, 22 Feb 2016 18:44:57 +0100 Subject: [PATCH] Pmodule: fix a silly mistake in type cloning name shadowing kills kittens --- TODO | 2 -- src/mlw/pmodule.ml | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/TODO b/TODO index 353541372..e0fdf9de3 100644 --- a/TODO +++ b/TODO @@ -32,8 +32,6 @@ library/gallery migration - no warning on lemma functions cf examples/tests/lemma_functions.mlw - - cloning a recursive data type (e.g. clone list.List) - - "old" and "at" in program code gives a syntax error (bench/programs/bad-to-keep/old3.mlw), we can do better diff --git a/src/mlw/pmodule.ml b/src/mlw/pmodule.ml index 621242afe..ae8b73dab 100644 --- a/src/mlw/pmodule.ml +++ b/src/mlw/pmodule.ml @@ -639,8 +639,8 @@ let clone_type_decl inst cl tdl = if Sits.mem s alg then begin if not (Mts.mem s.its_ts cl.ts_table) then let id = id_clone s.its_ts.ts_name in - let s = create_rec_itysymbol id s.its_ts.ts_args in - cl.ts_table <- Mts.add s.its_ts s cl.ts_table + let s' = create_rec_itysymbol id s.its_ts.ts_args in + cl.ts_table <- Mts.add s.its_ts s' cl.ts_table end else Opt.iter (visit alg s) (Mits.find_opt s def); List.iter down tl | Ityvar _ -> () in -- GitLab