system records expanded types from declarations
Bug #1010862 reported by
Nikodemus Siivola
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Triaged
|
Low
|
Unassigned |
Bug Description
CL-USER> (deftype foo () `(integer 0 12938))
FOO
CL-USER> (declaim (ftype (function (foo) *) bar))
; no value
CL-USER> (defun bar (x) x)
BAR
CL-USER> (describe 'bar)
COMMON-
[symbol]
BAR names a compiled function:
Lambda-list: (X)
Declared type: (FUNCTION ((MOD 12939)) *)
Derived type: (FUNCTION ((MOD 12939)) (VALUES (MOD 12939) &OPTIONAL))
Source form:
(
(X)
(BLOCK BAR X))
...whereas
Declared type: (FUNCTION (FOO) *)
would seem preferable.
To post a comment you must log in.
Same applies to variables, etc.
We currently record the parsed type into globaldb. Possibly we should either record both, or make type objects able to carry the unparsed form with them.