1.0.21.11: record bug 431
[sbcl.git] / BUGS
diff --git a/BUGS b/BUGS
index e36c391..d1b1169 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -1918,3 +1918,27 @@ generally try to check returns in safe code, so we should here too.)
  HANDLE-NESTED-DYNAMIC-EXTENT-LVARS sees is not
  %MAKE-STRUCTURE-INSTANCE, but no-yet-eliminated (VARARGS-ENTRY
  MAKE-FOO).
+
+431: alien strucure redefinition doesn't work as expected
+
+  (define-alien-type nil (struct mystruct (myshort short) (mychar char)))
+
+  (with-alien ((myst (struct mystruct)))
+    (with-alien ((mysh short (slot myst 'myshort)))
+      (integerp mysh)))
+
+  (define-alien-type nil (struct mystruct (myint int) (mychar char)))
+
+  (with-alien ((myst (struct mystruct)))
+    (with-alien ((myin int (slot myst 'myint)))
+      (integerp myin)))
+
+  results in error:
+
+   There is no slot named MYINT in
+     #<SB-ALIEN-INTERNALS:ALIEN-RECORD-TYPE (STRUCT MYSTRUCT
+                                             (MYSHORT (SIGNED 16))
+                                             (MYCHAR (SIGNED 8)))>.
+   [Condition of type SIMPLE-ERROR]
+
+  reported by Neil Haven on sbcl-devel.