Spitfire Compilation Warnings When Compiling Getting Started Code

I was following the instructions in the Ash Getting Started Guide for setting up a new Phoenix app.

Used the following to create a project (named bbg in this case):
mix igniter.new bbg
– install ash, ash_postgres
– with phx.new
– extend postgres

When this code was compiling, I got the following warnings when Spitfire was compiling:
==> spitfire
Compiling 2 files (.erl)
Compiling 3 files (.ex)
warning: Macro.Env.define_alias/4 is undefined or private

178 │ case Macro.Env.define_alias(env, meta, arg, [trace: false] ++ opts) do
│ ~

└─ lib/spitfire/env.ex:178:22: Spitfire.Env.expand/3
└─ lib/spitfire/env.ex:481:28: Spitfire.Env.alias_defmodule/3

 warning: Macro.Env.define_import/4 is undefined or private
 │

209 │ {:ok, env} ← Macro.Env.define_import(env, meta, arg, [trace: false] ++ opts) do
│ ~

└─ lib/spitfire/env.ex:209:36: Spitfire.Env.expand/3

 warning: Macro.Env.define_require/4 is undefined or private
 │

193 │ case Macro.Env.define_require(env, meta, arg, [trace: false] ++ opts) do
│ ~

└─ lib/spitfire/env.ex:193:22: Spitfire.Env.expand/3

 warning: Macro.Env.expand_alias/4 is undefined or private
 │

137 │ case Macro.Env.expand_alias(env, meta, list, trace: false) do
│ ~

└─ lib/spitfire/env.ex:137:20: Spitfire.Env.expand/3

 warning: Macro.Env.expand_import/5 is undefined or private
 │

308 │ case Macro.Env.expand_import(env, meta, fun, arity,
│ ~

└─ lib/spitfire/env.ex:308:20: Spitfire.Env.expand/3

 warning: Macro.Env.expand_require/6 is undefined or private
 │

274 │ case Macro.Env.expand_require(env, meta, module, fun, arity,
│ ~

└─ lib/spitfire/env.ex:274:22: Spitfire.Env.expand/3

Generated spitfire app

What are the implications of these warnings? Under what conditions would this affect code I write? Can they be safely ignored?

Does this relate to this issue already in the Ash Forum?
https://elixirforum.com/t/working-on-lib-elixir-elixir-core-modules-as-a-library/65316

Thanks for your insight on this. Thanks for the great work on Ash.

These warnings can be safely ignored :slight_smile: They will go away when you upgrade to elixir 1.7+

Thanks. I am using 1.16 currently.
Thanks again for all your and the team’s great work.

Just to clarify, @zachdaniel meant Elixir 1.17+, not 1.7 – if you’re able to upgrade, that will rid you of the warnings :slightly_smiling_face:

1 Like

Oh, right sorry :laughing: