Macro.struct-exclamation-mark

You're seeing just the function struct-exclamation-mark, go back to Macro module for more information.
Link to this function

struct!(module, env)

View Source (since 1.8.0)

Specs

struct!(module, Macro.Env.t()) :: %{__struct__: module} when module: module()

Expands the struct given by module in the given env.

This is useful when a struct needs to be expanded at compilation time and the struct being expanded may or may not have been compiled. This function is also capable of expanding structs defined under the module being compiled.

It will raise CompileError if the struct is not available. From Elixir v1.12, calling this function also adds an export dependency on the given struct.