mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-23 05:13:48 +00:00
Estimated hours taken: 4 Fix a limitation of the current nested module support: ensure that we check for attempts to import inaccessible modules. compiler/modules.m: Check for attempts to import inaccessible modules (modules whose parent has not been imported, or for which there is no `include_module' declaration in the parent's interface). compiler/intermod.m: Modify the way we import `.opt' files. The previous method temporarily set the items field of the module_imports structure to [], but check_module_accessibility relies on the assumption that the items field contains the items for all modules previously read in. tests/invalid/Mmakefile: tests/invalid/test_nested.m: tests/invalid/test_nested.err_exp: tests/invalid/parent.m: tests/invalid/parent.private_child.m: tests/invalid/parent.public_child.m: tests/invalid/parent.undeclared_child.m: tests/invalid/parent.undeclared_child.err_exp: tests/invalid/parent2.m: tests/invalid/parent2.child.m: Add some tests for the above change. doc/reference_manual.texi: Update the "bugs and limitations" sub-section of the modules chapter to reflect the new status quo.
11 lines
167 B
Mathematica
11 lines
167 B
Mathematica
% This is part of the test_nested.m test case.
|
|
|
|
:- module parent.
|
|
:- interface.
|
|
|
|
:- include_module public_child.
|
|
|
|
:- implementation.
|
|
|
|
:- include_module private_child.
|