[][src]Module move_core_types::identifier

An identifier is the name of an entity (module, resource, function, etc) in Move.

A valid identifier consists of an ASCII string which satisfies any of the conditions:

The spec for allowed identifiers is similar to Rust's spec (as of version 1.38).

Allowed identifiers are currently restricted to ASCII due to unresolved issues with Unicode normalization. See Rust issue #55467 and the associated RFC for some discussion. Unicode identifiers may eventually be supported once these issues are worked out.

This module only determines allowed identifiers at the bytecode level. Move source code will likely be more restrictive than even this, with a "raw identifier" escape hatch similar to Rust's r# identifiers.

Among other things, identifiers are used to:

Structs

IdentStr

A borrowed identifier.

Identifier

An owned identifier.