diff --git a/structures/structures-02.lsp b/structures/structures-02.lsp index 64858e46046509396eb16e1634a9f5f61b02bca2..ded3df0eab48039d39aa7cdfaf293d69cb743ff3 100644 --- a/structures/structures-02.lsp +++ b/structures/structures-02.lsp @@ -485,6 +485,15 @@ (defstruct-with-tests (struct-test-68 (:include struct-test-67)) c d) +;;; Structure isn't named, but type is specified. No predicate is +;;; allowed *or* predicate must be NIL. +(defstruct-with-tests (struct-test-69 (:type (vector single-float)) + (:predicate nil))) + +(defstruct-with-tests (struct-test-70 (:type list) + (:predicate struct-test-70) + :named)) + ;;; Error tests (deftest copy-structure.error.1 @@ -495,3 +504,10 @@ (signals-error (copy-structure (make-s-2) nil) program-error) t) +(deftest defstruct.error.3 + (signals-error + (eval (read-from-string + "(defstruct (struct-test.error.3 (:type (vector single-float)) + (:predicate struct-test.error.3)))")) + simple-error) + t)