From bbbd3fc5ed2941b4786bcf1b59df6aa79fb501b0 Mon Sep 17 00:00:00 2001
From: Andre Maroneze <andre.maroneze@cea.fr>
Date: Thu, 15 Oct 2020 13:59:45 +0200
Subject: [PATCH] [Kernel] update code to OCaml >= 4.07

---
 src/kernel_internals/parsing/clexer.mll | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/kernel_internals/parsing/clexer.mll b/src/kernel_internals/parsing/clexer.mll
index 603bab87c56..71d54b7ee34 100644
--- a/src/kernel_internals/parsing/clexer.mll
+++ b/src/kernel_internals/parsing/clexer.mll
@@ -233,12 +233,12 @@ let init_lexicon _ =
           let filename =
             Filepath.Normalized.to_pretty_string (fst loc).pos_path
           in
-          (* TODO: when 4.07 becomes minimal OCaml version,
-             use String.to_seq and Seq.fold_left. *)
-          let l = ref [] in
-          let convert_char c = l:=Int64.of_int (Char.code c) :: !l in
-          String.iter convert_char filename;
-          CST_STRING (List.rev !l,loc)))
+          let seq = String.to_seq filename in
+          let convert_char c = Int64.of_int (Char.code c) in
+          let l =
+            Seq.fold_left (fun acc c -> convert_char c :: acc) [] seq
+          in
+          CST_STRING (List.rev l,loc)))
     ]
 
 
-- 
GitLab