mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-30 00:34:40 +00:00
Estimated hours taken: 1 Change the documentation and test cases to reflect the fact that we currently don't support parallel makes for nested modules. (The comments in the write_depenency_file predicate in compiler/modules.m explain why not.) doc/reference_manual.texi: Update the list of bugs and limitations in the sub-modules chapter to say that we don't support parallel makes for nested modules. tests/hard_coded/Mmakefile: tests/hard_coded/nested*.m: tests/hard_coded/parent*.m: tests/hard_coded/sub-modules/Mmakefile: tests/hard_coded/sub-modules/nested*: tests/hard_coded/sub-modules/parent*: Move the sub-module test cases to a new subdirectory `tests/hard_coded/sub-modules'. One reason for this is just to separate out the test cases for this feature, just as we do with the typeclass test cases. But the other reason is to ensure that the nested module test cases won't get built in parallel, since currently there are some problems with the Mmake rules for building nested modules that cause race conditions if you use parallel makes.
43 lines
956 B
Mathematica
43 lines
956 B
Mathematica
% Some test cases to test nested modules.
|
|
|
|
:- module parent2:child.
|
|
:- interface.
|
|
|
|
% module `io' is imported in parent2
|
|
|
|
:- type t1 == foo.
|
|
:- type t2 == parent2:foo.
|
|
|
|
:- pred main(io__state::di, io__state::uo) is det.
|
|
|
|
:- implementation.
|
|
:- import_module std_util.
|
|
|
|
:- type t3 == foo.
|
|
:- type t4 == parent2:foo.
|
|
|
|
:- func has_type_t1 = t1.
|
|
:- func has_type_t2 = t2.
|
|
:- func has_type_t3 = t3.
|
|
:- func has_type_t4 = t4.
|
|
|
|
has_type_t1 = bar.
|
|
has_type_t2 = parent2:bar.
|
|
has_type_t3 = baz(42).
|
|
has_type_t4 = parent2:baz(42).
|
|
|
|
main -->
|
|
parent2:hello,
|
|
hello,
|
|
|
|
print("t1 = "), print(type_of(has_type_t1)), nl,
|
|
print("t2 = "), print(type_of(has_type_t2)), nl,
|
|
print("t3 = "), print(type_of(has_type_t3)), nl,
|
|
print("t4 = "), print(type_of(has_type_t4)), nl,
|
|
|
|
print("has_type_t1 = "), print(has_type_t1), nl,
|
|
print("has_type_t2 = "), print(has_type_t2), nl,
|
|
print("has_type_t3 = "), print(has_type_t3), nl,
|
|
print("has_type_t4 = "), print(has_type_t4), nl.
|
|
|