I don't think this bug is about inline-ness.
(defun defit1 () (defun foo () :bar)) (defun defit2 () (defun foo () :mumble))
* (compile-file "/tmp/foo.lisp") ... * (sb-int:info :function :type 'foo) #<SB-KERNEL:FUN-TYPE (FUNCTION NIL (VALUES (MEMBER :MUMBLE) &OPTIONAL))>
The fact that anything happens at all to global information when a non-toplevel named-lambda is processed is weird. I don't think the compiler is supposed to assume stuff about definitions in the same file when they didn't happen at toplevel.
I don't think this bug is about inline-ness.
(defun defit1 () (defun foo () :bar))
(defun defit2 () (defun foo () :mumble))
* (compile-file "/tmp/foo.lisp") FUN-TYPE (FUNCTION NIL (VALUES (MEMBER :MUMBLE) &OPTIONAL))>
...
* (sb-int:info :function :type 'foo)
#<SB-KERNEL:
The fact that anything happens at all to global information when a non-toplevel named-lambda is processed is weird.
I don't think the compiler is supposed to assume stuff about definitions in the same file when they didn't happen at toplevel.