[Openmcl-devel] psetf issue on Linux|Windows X8632

Nicolas Hafner shinmera at tymoon.eu
Wed Apr 12 02:30:16 PDT 2017


This case can be further reduced to the following, which does not
require the library:

(defstruct vec
  (x 0.0 :type single-float)
  (y 0.0 :type single-float))

(let ((vec (make-vec)))
  (psetf (vec-x vec) 5.0
         (vec-y vec) 5.0))

The specific trigger combination seems to be psetf with typed structure
slots.

On 12/04/17 11:20, gzip4 wrote:
> Hello, All!
>
> To reproduce the issue:
>
>
> (lisp-implementation-version)
> "Version 1.11-r16635  (WindowsX8632)"
>
> (ql:quickload '3d-vectors)
>
> (let ((vec (3d-vectors::vec 5 0 0)))
>   (psetf (3d-vectors::%vx3 vec) 5.0
>          (3d-vectors::%vy3 vec) 5.0))
>
> Signal error:
> The value 5.0 is not of the expected type STRUCTURE.
> [Condition of type TYPE-ERROR]
>
> The problem seems to be related to |psetf|. If you remove one of the
> set pairs, it works fine. If you use |setf|, it also works fine.
>
> 64 bit versions do not have such an issue, LinuxARM32 also passes.
>
> -- 
> gzip4

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.clozure.com/pipermail/openmcl-devel/attachments/20170412/ec8690af/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <https://lists.clozure.com/pipermail/openmcl-devel/attachments/20170412/ec8690af/attachment.bin>


More information about the Openmcl-devel mailing list