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

R. Matthew Emerson rme at acm.org
Wed Apr 12 10:38:56 PDT 2017


https://github.com/Clozure/ccl/issues/36 <https://github.com/Clozure/ccl/issues/36>




> On Apr 12, 2017, at 2:30 AM, Nicolas Hafner <shinmera at tymoon.eu> wrote:
> 
> 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/a1e45bc0/attachment.htm>


More information about the Openmcl-devel mailing list