# Defstruct inside \_\_using\_\_\`

**URL:** <https://forum.elixirforum.com/t/defstruct-inside-using/59904>\
**Category:** Questions\
**Tags:** module\
**Created:** [November 22, 2023, 3:09pm UTC](https://forum.elixirforum.com/t/defstruct-inside-using/59904 "2023-11-22T15:09:44Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![sodapopcan](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sodapopcan/32/34668_2.png) [@sodapopcan](https://forum.elixirforum.com/u/sodapopcan)\
**Post date:** [November 22, 2023, 3:14pm UTC](https://forum.elixirforum.com/t/defstruct-inside-using/59904/2 "2023-11-22T15:14:38Z")

</div>

You don’t need the `defmodule __MODULE__ do` part:

```elixir
defmodule Structor do
  defmacro __using__ (_) do
    quote do
      defstruct [:field]

      def create(field) do
        % __MODULE__ {field: field}
      end
    end
  end
end

defmodule MyStruct do
  use Structor
end

iex> MyStruct.create(:foo)
%MyStruct{field: :foo)

```

---

_[View the full topic](https://forum.elixirforum.com/t/defstruct-inside-using/59904)._
