It specifies whether method selection should be optimized for speed or space, but it has no effect on methods . To control how a method is optimized, an optimize declaration must be placed directly in the defmethod form or method description. The optimization qualities speed and space are the only qualities this standard requires, but an implementation can extend the object system to recognize other qualities. A simple implementation that has only one method selection technique and ignores optimize declaration specifiers is valid. The special , ftype , function , inline , notinline , and declaration declarations are not permitted.
Individual implementations can extend the declare option to support additional declarations.
If an implementation notices a declaration specifier that it does not support and that has not been proclaimed as a non-standard declaration identifier name in a declaration proclamation , it should issue a warning. The declare option may be specified more than once. The effect is the same as if the lists of declaration specifiers had been appended together into a single list and specified as a single declare option. The class-name argument is the name of a class that can be the class of a generic function . The class-name argument is the name of a class that is capable of being the class of a method .