From ef0ab5e4d16b991652732995cc65d4e6a05ad048 Mon Sep 17 00:00:00 2001 From: David Maison Date: Tue, 26 May 2026 14:09:49 +0200 Subject: [PATCH 1/2] [test][dune] Add test with an ignored/anonymous sub-module --- examples/using_dune/lib/values/values_in_submodules.ml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/examples/using_dune/lib/values/values_in_submodules.ml b/examples/using_dune/lib/values/values_in_submodules.ml index 958df8df..b8e0bd78 100644 --- a/examples/using_dune/lib/values/values_in_submodules.ml +++ b/examples/using_dune/lib/values/values_in_submodules.ml @@ -16,6 +16,10 @@ module Exported = struct end +module _ = struct + let unused_int = 42 +end + let () = ignore Unexported.used_int let () = ignore Exported.Private.used_int From ec4dc63184eff5f5ab7bfe16ad5e4d6a9784da49 Mon Sep 17 00:00:00 2001 From: David Maison Date: Tue, 26 May 2026 14:11:04 +0200 Subject: [PATCH 2/2] [src][deadCode] Fix uncaught exception with ignored/anonymous sub-modules --- src/deadCode.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deadCode.ml b/src/deadCode.ml index 06c65a45..69e0984d 100644 --- a/src/deadCode.ml +++ b/src/deadCode.ml @@ -208,7 +208,7 @@ let structure_item super self i = end; let r = super.Tast_mapper.structure_item self i in begin match i.str_desc with - | Tstr_module _ -> mods := List.tl !mods + | Tstr_module {mb_name = {txt = Some _; _}; _} -> mods := List.tl !mods | _ -> () end; r