mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-14 05:12:33 +00:00
Fix bug #241: a typo was preventing require_semidet scopes from being
Branches: main, 11.07 Fix bug #241: a typo was preventing require_semidet scopes from being recognised. compiler/prog_io.m; Fix a typo: s/require_semi/require_semidet/ tests/valid/Mmakefile: tests/valid/require_bug.m: Add a test the above.
This commit is contained in:
@@ -568,7 +568,7 @@ parse_goal_2(Functor, Args, Context, ContextPieces, MaybeGoal, !VarSet) :-
|
||||
Functor = "require_det",
|
||||
Detism = detism_det
|
||||
;
|
||||
Functor = "require_semi",
|
||||
Functor = "require_semidet",
|
||||
Detism = detism_semi
|
||||
;
|
||||
Functor = "require_multi",
|
||||
|
||||
@@ -217,6 +217,7 @@ OTHER_PROGS= \
|
||||
record_syntax_bug_5 \
|
||||
recursive_no_tag_type \
|
||||
reg_bug \
|
||||
require_bug \
|
||||
same_length_2 \
|
||||
semidet_disj \
|
||||
shape_type \
|
||||
|
||||
16
tests/valid/require_bug.m
Normal file
16
tests/valid/require_bug.m
Normal file
@@ -0,0 +1,16 @@
|
||||
% rotd-2011-12-03 nad before didn't recongise the require_semidet
|
||||
% scope.
|
||||
|
||||
:- module require_bug.
|
||||
:- interface.
|
||||
|
||||
:- pred foo(int::out, int::out) is failure.
|
||||
|
||||
:- implementation.
|
||||
|
||||
foo(Y, Z) :-
|
||||
require_det true,
|
||||
require_semidet semidet_succeed,
|
||||
require_multi (Y = 1; Y = 2),
|
||||
require_nondet ((Z = 1; Z = 2), semidet_succeed),
|
||||
require_failure false.
|
||||
Reference in New Issue
Block a user