Expected Behavior
When using (include_subdirs qualified), a Menhir parser in a qualified subdirectory should be able to access its sibling modules. This is useful for if a programming language has a number of intermediate languages, each with its own parser and AST module, nested within their own subdirectories:
├── dune
├── dune-project
├── foo.ml
├── lang
│ ├── ast.ml
│ ├── dune
│ ├── lexer.ml
│ └── parser.mly
└── run.t
Actual Behavior
Sibling modules are unbound in qualified Menhir parsers:
File "lang/parser.mly", line 3, characters 8-16:
Error: Unbound module Ast
[1]
Reproduction
#11118
Specifications
- Version of
dune (output of dune --version): 3.12.0-1285-gf7af2d0
- Version of
ocaml (output of ocamlc --version): The OCaml toplevel, version 5.1.1
- Operating system (distribution and version): macOS 15.0.1
Expected Behavior
When using
(include_subdirs qualified), a Menhir parser in a qualified subdirectory should be able to access its sibling modules. This is useful for if a programming language has a number of intermediate languages, each with its own parser and AST module, nested within their own subdirectories:Actual Behavior
Sibling modules are unbound in qualified Menhir parsers:
Reproduction
#11118
Specifications
dune(output ofdune --version):3.12.0-1285-gf7af2d0ocaml(output ofocamlc --version):The OCaml toplevel, version 5.1.1