### 8.2 Defining a Symbol Within Another Type

In C`++`, a symbol (such as a type name) can be defined within another type.

In stabs, this is sometimes represented by making the name of a symbol which contains ‘`::`’. Such a pair of colons does not end the name of the symbol, the way a single colon would (see String Field). I’m not sure how consistently used or well thought out this mechanism is. So that a pair of colons in this position always has this meaning, ‘`:`’ cannot be used as a symbol descriptor.

For example, if the string for a stab is ‘`foo::bar::baz:t5=*6`’, then `foo::bar::baz` is the name of the symbol, ‘`t`’ is the symbol descriptor, and ‘`5=*6`’ is the type information.