type of an expression ([basic.types]) resulting from
analysis of the program without considering execution semantics
[ Note: The
static type of an expression depends only on the form of the program in
which the expression appears, and does not change while the program is
executing. — end note ]