<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; " class="">I can reproduce it on my Mac in CCL32, but not CCL64. Furthermore, it only happens in CCL32 when safety is 1 or 0.<div class=""><br class=""></div><div class=""><div class=""><font class="Apple-style-span" face="Courier">(defstruct vec</font></div><div class=""><font class="Apple-style-span" face="Courier"> (x 0.0 :type single-float)</font></div><div class=""><font class="Apple-style-span" face="Courier"> (y 0.0 :type single-float))</font></div><div class=""><font class="Apple-style-span" face="Courier"><br class=""></font></div><div class=""><font class="Apple-style-span" face="Courier">; Following has the psetf form macroexpanded for greater clarity:</font></div><div class=""><font class="Apple-style-span" face="Courier"><br class=""></font></div><div class=""><font class="Apple-style-span" face="Courier">(defun test ()</font></div><div class=""><font class="Apple-style-span" face="Courier"> (declare (optimize (safety 1))) ; no error when 2 or 3</font></div><div class=""><font class="Apple-style-span" face="Courier"> (let ((vec (make-vec)))</font></div><div class=""><font class="Apple-style-span" face="Courier"> (PROGN (LET ((foo (CCL::STRUCTURE-TYPECHECK VEC VEC)))</font></div><div class=""><font class="Apple-style-span" face="Courier"> (MULTIPLE-VALUE-BIND (bar)</font></div><div class=""><font class="Apple-style-span" face="Courier"> 5.0</font></div><div class=""><font class="Apple-style-span" face="Courier"> (PROGN (SETF (VEC-Y VEC) 5.0)</font></div><div class=""><font class="Apple-style-span" face="Courier"> (THE SINGLE-FLOAT</font></div><div class=""><font class="Apple-style-span" face="Courier"> (LET ((bar (CCL::TYPECHECK bar SINGLE-FLOAT)))</font></div><div class=""><font class="Apple-style-span" face="Courier"> (CCL::STRUCT-SET foo 1 bar))))))</font></div><div class=""><font class="Apple-style-span" face="Courier"> vec)))</font></div><div class=""><font class="Apple-style-span" face="Courier"><br class=""></font></div><div class=""><font class="Apple-style-span" face="Courier">(test)</font></div><div class=""><br class=""></div><div class=""><br class=""><div><div class="">On Apr 12, 2017, at 9:48 AM, Ron Garret wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=windows-1252" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Seems to be Windows-specific. I can’t reproduce this on my mac.<div class=""><br class=""><div class=""><div class="">On Apr 12, 2017, at 2:30 AM, Nicolas Hafner <<a href="mailto:shinmera@tymoon.eu" class="">shinmera@tymoon.eu</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" class="">
<div text="#000000" bgcolor="#FFFFFF" class=""><p class="">This case can be further reduced to the following, which does not
require the library:</p><div class=""> <br class="webkit-block-placeholder"></div>
<tt class="">(defstruct vec<br class="">
(x 0.0 :type single-float)<br class="">
(y 0.0 :type single-float))<br class="">
<br class="">
(let ((vec (make-vec)))<br class="">
(psetf (vec-x vec) 5.0<br class="">
(vec-y vec) 5.0))</tt><br class="">
<br class="">
The specific trigger combination seems to be psetf with typed
structure slots.<br class="">
<br class="">
<div class="moz-cite-prefix">On 12/04/17 11:20, gzip4 wrote:<br class="">
</div>
<blockquote cite="mid:CAK0Se9nK29nYwW2Q3izJ2o=tfNoh3nye3eu_QiWwCcR7zmmjkw@mail.gmail.com" type="cite">
<div dir="ltr" class="">
<div class=""><span style="font-family:arial,helvetica,sans-serif" class="">Hello,
All!<br class="">
<br class="">
</span></div>
<div class=""><span style="font-family:arial,helvetica,sans-serif" class="">To
reproduce the issue:<br class="">
</span></div>
<div class=""><span style="font-family:arial,helvetica,sans-serif" class=""><br class="">
<br class="">
</span><span style="font-family:monospace,monospace" class="">(lisp-implementation-version)<br class="">
"Version 1.11-r16635 (WindowsX8632)"<br class="">
<br class="">
(ql:quickload '3d-vectors)<br class="">
<br class="">
(let ((vec (3d-vectors::vec 5 0 0)))<br class="">
(psetf (3d-vectors::%vx3 vec) 5.0<br class="">
(3d-vectors::%vy3 vec) 5.0))</span>
<div class=""><br class="">
</div>
<div class="">Signal error:<br class="">
The value 5.0 is not of the expected type STRUCTURE.<br class="">
[Condition of type TYPE-ERROR]<br class="">
<br class="">
</div>
<div class="">The problem seems to be related to <code class="">psetf</code>.
If you remove one of the set pairs, it works fine. If you
use <code class="">setf</code>, it also works fine.<br class="">
<br class="">
</div>
<div class="">64 bit versions do not have such an issue, LinuxARM32
also passes.<br class="">
</div>
<div class=""><br class="">
-- <br class="">
<div class="gmail_signature">gzip4</div>
</div>
</div>
</div>
</blockquote>
<br class="">
</div>
_______________________________________________<br class="">Openmcl-devel mailing list<br class=""><a href="mailto:Openmcl-devel@clozure.com" class="">Openmcl-devel@clozure.com</a><br class=""><a href="https://lists.clozure.com/mailman/listinfo/openmcl-devel">https://lists.clozure.com/mailman/listinfo/openmcl-devel</a><br class=""></blockquote></div><br class=""></div></div>_______________________________________________<br class="">Openmcl-devel mailing list<br class=""><a href="mailto:Openmcl-devel@clozure.com">Openmcl-devel@clozure.com</a><br class="">https://lists.clozure.com/mailman/listinfo/openmcl-devel<br class=""></blockquote></div><br class=""></div></div></body></html>