Fix bug in finding arity for verify attributes
This commit is contained in:
17
tests/scryer/cli/issues/compilation_bug.in/a.pl
Normal file
17
tests/scryer/cli/issues/compilation_bug.in/a.pl
Normal file
@@ -0,0 +1,17 @@
|
||||
% Issue 2706
|
||||
:- use_module(library(atts)).
|
||||
:- use_module(library(lists)).
|
||||
:- use_module(library(iso_ext)).
|
||||
|
||||
:- attribute a/1.
|
||||
|
||||
verify_attributes(_,_, []).
|
||||
|
||||
asdf([_|Xs], N) :-
|
||||
true,
|
||||
N1 is N - 1,
|
||||
asdf(Xs, N1).
|
||||
|
||||
test_a :-
|
||||
put_atts(A, a(1)),
|
||||
call_with_inference_limit(asdf(A, 1), 1000, _).
|
||||
30
tests/scryer/cli/issues/compilation_bug.in/b.pl
Normal file
30
tests/scryer/cli/issues/compilation_bug.in/b.pl
Normal file
@@ -0,0 +1,30 @@
|
||||
% Issue 2632
|
||||
|
||||
% Repro for cycle detection crash
|
||||
:- use_module(library(lists)).
|
||||
:- use_module(library(clpz)).
|
||||
:- use_module(library(error)).
|
||||
:- use_module(library(lambda)).
|
||||
:- use_module(library(debug)).
|
||||
|
||||
clpz:monotonic.
|
||||
|
||||
q_r(T/N, T:U) :- 0 #=< #T, 0 #=< #U, #N #= T + U.
|
||||
|
||||
qs_Ts_Us(Qs, ΣTs, ΣUs) :-
|
||||
maplist(\Q^T^U^(q_r(Q, T:U)), Qs, Ts, Us),
|
||||
intlist_partsums(Ts, ΣTs),
|
||||
intlist_partsums(Us, ΣUs).
|
||||
|
||||
%% Utility predicates used above:
|
||||
|
||||
intlist_partsums([X|Xs], [X|Ss]) :-
|
||||
intlist_partsums_acc(Xs, Ss, X).
|
||||
|
||||
intlist_partsums_acc([], [], _).
|
||||
intlist_partsums_acc([X|Xs], [S|Ss], A) :-
|
||||
#S #= #X + #A,
|
||||
intlist_partsums_acc(Xs, Ss, S).
|
||||
|
||||
test_b :-
|
||||
once(qs_Ts_Us(_, [1,3], [5,9])).
|
||||
19
tests/scryer/cli/issues/compilation_bug.in/c.pl
Normal file
19
tests/scryer/cli/issues/compilation_bug.in/c.pl
Normal file
@@ -0,0 +1,19 @@
|
||||
% Issue 2809
|
||||
|
||||
:- use_module(library(freeze)).
|
||||
|
||||
main1 :-
|
||||
freeze(Minor,true),
|
||||
cbor_minor_value1(Minor, []).
|
||||
|
||||
main2 :-
|
||||
freeze(Minor,true),
|
||||
cbor_minor_value2(Minor, []).
|
||||
|
||||
cbor_minor_value1(24, S0) :- numbytes_number(1, S0).
|
||||
|
||||
cbor_minor_value2(24, S0) :- S0=S1, numbytes_number(1, S1).
|
||||
|
||||
numbytes_number(_, []).
|
||||
|
||||
test_c :- main1.
|
||||
Reference in New Issue
Block a user