on updating my code to new VIP 10 the compiler has complained at some surprising places. When I inspected these places in detail, I found that there were bugs in my code which the 9.0.6 compiler (and me) had not noticed before. Apparently the polymorphic type checking has become smarter in VIP 10 and my code now more correct. That's great!
There appeared but one issue in my code at which please have a look:
interface myObj{@Type}predicates
doSomething :(@TypeVal).
end interface myObj
%---class myObj{@Type}:myObj{@Type}where @Typesupports unsigned
end class myObj
%---implement myObj{@Type}clauses
doSomething(Val):-NextVal=Val+1,
stdIo::write(NextVal).
end implement myObj
%===implement main
clauses
run():-Obj= myObj::new(),Obj:doSomething(1).
end implement main
The above construction has worked out in VIP 9.0.6 and it also works in VIP 10 in 32-bit mode. Only in 64-bit mode of VIP 10 it rises an access violation.