···11+Test bad example - foo/lib/foo_bar.ml has package-prefixed module name:
22+ $ merlint -B -r E522 bad/
33+ Running merlint analysis...
44+55+ Analyzing 1 files
66+77+ ✓ Code Quality (0 total issues)
88+ ✓ Code Style (0 total issues)
99+ ✓ Naming Conventions (0 total issues)
1010+ ✓ Documentation (0 total issues)
1111+ ✗ Project Structure (1 total issues)
1212+ [E522] Package-prefixed module in main lib/ instead of wrapped submodule (1 issue)
1313+ Rename <pkg>/lib/<pkg>_foo.ml to <pkg>/lib/foo.ml (and update the .mli
1414+ similarly). Dune's default wrapped mode will expose it as <Pkg>.Foo. For
1515+ something that really needs its own public name, create a sublib directory
1616+ (<pkg>/lib_foo/ with its own dune) instead.
1717+ - (global) foo/lib/foo_bar.ml uses package-prefixed module name; drop the prefix and let dune's wrapping expose it as a submodule, or move it into a sublib directory
1818+ ✓ Test Quality (0 total issues)
1919+ ✓ Interop Testing (0 total issues)
2020+ ✓ Code Generation (0 total issues)
2121+2222+ ╭───────────────────┬────────────────────────────────────────────────────────╮
2323+ │ Category │ Issues │
2424+ ├───────────────────┼────────────────────────────────────────────────────────┤
2525+ │ Project Structure │ 1 (1 package-prefixed module in main lib/ instead of │
2626+ │ │ wrapped submodule) │
2727+ ╰───────────────────┴────────────────────────────────────────────────────────╯
2828+2929+3030+ Summary: ✗ 1 total issue (applied 1 rule)
3131+ ✗ Some checks failed. See details above.
3232+ [1]
3333+3434+Test good example - foo/lib/bar.ml has no package prefix:
3535+ $ merlint -B -r E522 good/
3636+ Running merlint analysis...
3737+3838+ Analyzing 1 files
3939+4040+ ✓ Code Quality (0 total issues)
4141+ ✓ Code Style (0 total issues)
4242+ ✓ Naming Conventions (0 total issues)
4343+ ✓ Documentation (0 total issues)
4444+ ✓ Project Structure (0 total issues)
4545+ ✓ Test Quality (0 total issues)
4646+ ✓ Interop Testing (0 total issues)
4747+ ✓ Code Generation (0 total issues)
4848+4949+ Summary: ✓ 0 total issues (applied 1 rule)
5050+ ✓ All checks passed!