this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Keep track of failed cells

+9
+9
lib/impl.ml
··· 723 723 Some (from, to_, wdispatch source query) 724 724 end 725 725 726 + module StringSet = Set.Make (String) 727 + let failed_cells = ref StringSet.empty 728 + 729 + 726 730 727 731 let complete_prefix _id _deps is_toplevel source position = 728 732 try begin ··· 806 810 Logs.info (fun m -> m "About to type_implementation"); 807 811 let _ = Typemod.type_implementation unit_info env ast in 808 812 let b = Sys.file_exists (prefix ^ ".cmi") in 813 + failed_cells := StringSet.remove id !failed_cells; 809 814 Logs.info (fun m -> m "file_exists: %s = %b\n%!" (prefix ^ ".cmi") b)); 810 815 (* reset_dirs () *) () 811 816 with 812 817 | Env.Error e -> 813 818 Logs.err (fun m -> m "Env.Error: %a" Env.report_error e); 819 + failed_cells := StringSet.add id !failed_cells; 814 820 () 815 821 | exn -> 816 822 let s = Printexc.to_string exn in ··· 818 824 Logs.err (fun m -> m "Backtrace: %s" (Printexc.get_backtrace ())); 819 825 let ppf = Format.err_formatter in 820 826 let _ = Location.report_exception ppf exn in 827 + failed_cells := StringSet.add id !failed_cells; 821 828 () 822 829 823 830 ··· 836 843 837 844 let query_errors id deps is_toplevel orig_source = 838 845 try 846 + let deps = List.filter (fun dep -> not (StringSet.mem dep !failed_cells)) deps in 839 847 (* Logs.info (fun m -> m "About to mangle toplevel"); *) 840 848 let line1, src = mangle_toplevel is_toplevel orig_source deps in 841 849 let id = Option.get id in ··· 881 889 882 890 let type_enclosing _id deps is_toplevel orig_source position = 883 891 try 892 + let deps = List.filter (fun dep -> not (StringSet.mem dep !failed_cells)) deps in 884 893 let line1, src = mangle_toplevel is_toplevel orig_source deps in 885 894 let src = line1 ^ src in 886 895 let position =