Skip to content

Defining components use package for existing symbol

I tried upgrading from 0.4 to 0.6.1 (commit 683c1a4c) and get a problem.

It looks like some functions are being defined in the wrong package. I have imported position through generic-cl. When defining a component with the same name, functions are defined in the generic-cl.sequence package.

> (symbol-package 'position)
#<PACKAGE "GENERIC-CL.SEQUENCE">
(ecs:defcomponent position
    (value (raylib:vector2-zero) :type raylib:vector2))
; file: /tmp/slimewv2L12
; in: ECS:DEFCOMPONENT POSITION
;     (CL-FAST-ECS:DEFCOMPONENT GENERIC-CL.SEQUENCE:POSITION
;                               (SIJO-ION::VALUE (RAYLIB:VECTOR2-ZERO) :TYPE
;                                RAYLIB:VECTOR2))
; 
; caught STYLE-WARNING:
;   VALUE values will be boxed; consider using primitive type

; file: /tmp/slimewv2L12
; in: ECS:DEFCOMPONENT POSITION
;     (CL-FAST-ECS:DEFCOMPONENT GENERIC-CL.SEQUENCE:POSITION
;                               (SIJO-ION::VALUE (RAYLIB:VECTOR2-ZERO) :TYPE
;                                RAYLIB:VECTOR2))
; --> DEFUN PROGN SB-IMPL::%DEFUN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA 
; --> FUNCTION MULTIPLE-VALUE-PROG1 PROGN BLOCK 
; --> CL-FAST-ECS::WITH-STORAGE LET CL-FAST-ECS::WITH-CHECKED-ENTITY 
; --> LET LET* IF SIJO-ION::%WITH-POSITION-SLOTS LET* THE 
; ==>
;   (GENERIC-CL.SEQUENCE::%POSITION-SOA-VALUE #:SOA909)
; 
; caught STYLE-WARNING:
;   undefined function: GENERIC-CL.SEQUENCE::%POSITION-SOA-VALUE
; 
; compilation unit finished
;   Undefined function:
;     GENERIC-CL.SEQUENCE::%POSITION-SOA-VALUE
;   caught 2 STYLE-WARNING conditions
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information