I know there are bug reports in launchpad, and that this has been expelled from 2.0 as of not urgent fix, but seems the latest changes have broken it beyond fix.
I was playing with the following system (yes, I know the syntax is wrong), to make :feature at some point more useful but a simple experiment reveals that the structure dependency is being pushed into the list returned by COMPONENT-DEPENDS-ON and that this list causes an error in COMPONENT-SELF-DEPENDENCIES.
(defsystem :foo :components ((:file "foo1" :depends-on ((:feature :foo-method1))) (:file "foo2" :depends-on ((:feature (not :foo-method1))))))
* (asdf:load-system :foo) [...] ; file: /Users/jjgarcia/devel/asdf-decl/examples/feature/../../asdf.lisp (CERROR "Continue nonetheless." "Congratulations, you're the first ever user of FEATURE dependencies! Please contact the asdf-devel mailing-list.") 0] (continue)
debugger invoked on a TYPE-ERROR: The value (:FEATURE :FOO-METHOD1) is not of type (OR (VECTOR CHARACTER) (VECTOR NIL) BASE-STRING SYMBOL CHARACTER).
Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name): 0: [ABORT] Exit debugger, returning to top level.
(STRING= "foo1" (:FEATURE :FOO-METHOD1))[:EXTERNAL] 0]