CLCS
Function

upgraded-array-element-type

upgraded-array-element-type typespec &optional environment ⇒ upgraded-typespec

Arguments and Values

typespeca type specifier.
environmentan environment object. The default is nil, denoting the null lexical environment and the current global environment.
upgraded-typespeca type specifier.

Description

Returns the element type of the most specialized array representation capable of holding items of the type denoted by typespec.

The typespec is a subtype of (and possibly type equivalent to) the upgraded-typespec.

If typespec is bit, the result is type equivalent to bit.

If typespec is base-char, the result is type equivalent to base-char.

If typespec is character, the result is type equivalent to character.

The purpose of upgraded-array-element-type is to reveal how an implementation does its upgrading.

The environment is used to expand any derived type specifiers that are mentioned in the typespec.

Notes

Except for storage allocation consequences and dealing correctly with the optional environment argument, upgraded-array-element-type could be defined as:

 (defun upgraded-array-element-type (type &optional environment)
   (array-element-type (make-array 0 :element-type type)))