~ chicken-core (chicken-5) 37abad1e9144e97536c332c402dc47a653ff4e4a
commit 37abad1e9144e97536c332c402dc47a653ff4e4a Author: megane <meganeka@gmail.com> AuthorDate: Sat May 22 09:08:19 2021 +0300 Commit: Evan Hanson <evhan@foldling.org> CommitDate: Fri Jul 30 13:25:56 2021 +1200 Fix types.db entry for ##sys#foreign-pointer-argument This procedure returns its input value after checking its type, so its argument and return types should match, and it should accept a pointer or locative, not false. Signed-off-by: Evan Hanson <evhan@foldling.org> diff --git a/types.db b/types.db index ae989220..922c07af 100644 --- a/types.db +++ b/types.db @@ -1392,8 +1392,10 @@ ((string) #(1))) (##sys#foreign-symbol-argument (#(procedure #:clean #:enforce) ##sys#foreign-symbol-argument (symbol) symbol) ((symbol) #(1))) -(##sys#foreign-pointer-argument (#(procedure #:clean #:enforce) ##sys#foreign-pointer-argument ((or pointer false)) pointer) - ((pointer) #(1))) +(##sys#foreign-pointer-argument (forall ((p (or locative pointer))) + (#(procedure #:clean #:enforce) ##sys#foreign-pointer-argument (p) p)) + ((pointer) (pointer) #(1)) + ((locative) (locative) #(1))) (##sys#check-blob (#(procedure #:clean #:enforce) ##sys#check-blob (blob #!optional *) *) ((blob) (let ((#(tmp) #(1))) '#t))Trap