absinthe-graphql / absinthe

The GraphQL toolkit for Elixir
http://absinthe-graphql.org
Other
4.28k stars 524 forks source link

Lots of deprecation warnings on Elixir 1.17 #1323

Closed Billzabob closed 3 months ago

Billzabob commented 3 months ago

If submitting a bug, please provide the following:

Environment

Expected behavior

No warnings.

Actual behavior

Lots of warnings that look like this:

warning: using map.field notation (without parentheses) to invoke function Api.Graphql.Schema.__absinthe_interface_implementors__() is deprecated, you must add parentheses instead: remote.function()
deepankar-j commented 3 months ago

Here are some more warnings we're seeing in our project.

elixir -v
Erlang/OTP 27 [erts-15.0] [source] [64-bit] [smp:10:10] [ds:10:10:10] [async-threads:1] [jit]

Elixir 1.17.0 (compiled with Erlang/OTP 27)

warning: using map.field notation (without parentheses) to invoke function Absinthe.Blueprint.Schema.ObjectTypeDefinition.functions() is deprecated, you must add parentheses instead: remote.function()
  (absinthe 1.7.6) lib/absinthe/blueprint/schema.ex:62: Absinthe.Blueprint.Schema.functions/1
  (absinthe 1.7.6) lib/absinthe/schema/notation.ex:2342: Absinthe.Schema.Notation.functions_for_type/2
  (absinthe 1.7.6) lib/absinthe/schema/notation.ex:2293: Absinthe.Schema.Notation.lift_functions/3
  (absinthe 1.7.6) lib/absinthe/blueprint/transform.ex:117: Absinthe.Blueprint.Transform.walk/4
  (elixir 1.17.0) lib/enum.ex:1829: Enum."-map_reduce/3-lists^mapfoldl/2-0-"/3

warning: using map.field notation (without parentheses) to invoke function HapiWeb.Schema.__absinthe_pipeline_modifiers__() is deprecated, you must add parentheses instead: remote.function()
  (absinthe 1.7.6) lib/absinthe/schema.ex:366: Absinthe.Schema.apply_modifiers/2
  (absinthe 1.7.6) lib/absinthe/schema.ex:383: Absinthe.Schema.__after_compile__/2
  (elixir 1.17.0) src/elixir_module.erl:461: anonymous fn/6 in :elixir_module.expand_callback/6
  (elixir 1.17.0) src/elixir_module.erl:460: :elixir_module.expand_callback/6
  (stdlib 6.0) lists.erl:2146: :lists.foldl/3

warning: using map.field notation (without parentheses) to invoke function HapiWeb.Schema.__absinthe_blueprint__() is deprecated, you must add parentheses instead: remote.function()
  (absinthe 1.7.6) lib/absinthe/schema.ex:385: Absinthe.Schema.__after_compile__/2
  (elixir 1.17.0) src/elixir_module.erl:461: anonymous fn/6 in :elixir_module.expand_callback/6
  (elixir 1.17.0) src/elixir_module.erl:460: :elixir_module.expand_callback/6
  (stdlib 6.0) lists.erl:2146: :lists.foldl/3
  (elixir 1.17.0) src/elixir_module.erl:198: :elixir_module.compile/7

warning: using map.field notation (without parentheses) to invoke function Absinthe.Type.BuiltIns.Directives.__absinthe_blueprint__() is deprecated, you must add parentheses instead: remote.function()
  (absinthe 1.7.6) lib/absinthe/phase/schema/directive_imports.ex:36: Absinthe.Phase.Schema.DirectiveImports.do_imports/3
  (absinthe 1.7.6) lib/absinthe/phase/schema/directive_imports.ex:18: Absinthe.Phase.Schema.DirectiveImports.handle_imports/2
  (absinthe 1.7.6) lib/absinthe/blueprint/transform.ex:16: anonymous fn/3 in Absinthe.Blueprint.Transform.prewalk/2
  (absinthe 1.7.6) lib/absinthe/blueprint/transform.ex:117: Absinthe.Blueprint.Transform.walk/4
  (elixir 1.17.0) lib/enum.ex:1829: Enum."-map_reduce/3-lists^mapfoldl/2-0-"/3

warning: using map.field notation (without parentheses) to invoke function Absinthe.Type.BuiltIns.Scalars.__absinthe_blueprint__() is deprecated, you must add parentheses instead: remote.function()
  (absinthe 1.7.6) lib/absinthe/phase/schema/type_imports.ex:38: Absinthe.Phase.Schema.TypeImports.do_imports/3
  (absinthe 1.7.6) lib/absinthe/phase/schema/type_imports.ex:18: Absinthe.Phase.Schema.TypeImports.handle_imports/2
  (absinthe 1.7.6) lib/absinthe/blueprint/transform.ex:16: anonymous fn/3 in Absinthe.Blueprint.Transform.prewalk/2
  (absinthe 1.7.6) lib/absinthe/blueprint/transform.ex:117: Absinthe.Blueprint.Transform.walk/4
  (elixir 1.17.0) lib/enum.ex:1829: Enum."-map_reduce/3-lists^mapfoldl/2-0-"/3

warning: using map.field notation (without parentheses) to invoke function Absinthe.Type.BuiltIns.DeprecatedDirectiveFields.__absinthe_blueprint__() is deprecated, you must add parentheses instead: remote.function()
  (absinthe 1.7.6) lib/absinthe/phase/schema/type_extension_imports.ex:38: Absinthe.Phase.Schema.TypeExtensionImports.do_imports/3
  (absinthe 1.7.6) lib/absinthe/phase/schema/type_extension_imports.ex:18: Absinthe.Phase.Schema.TypeExtensionImports.handle_imports/2
  (absinthe 1.7.6) lib/absinthe/blueprint/transform.ex:16: anonymous fn/3 in Absinthe.Blueprint.Transform.prewalk/2
  (absinthe 1.7.6) lib/absinthe/blueprint/transform.ex:117: Absinthe.Blueprint.Transform.walk/4
  (elixir 1.17.0) lib/enum.ex:1829: Enum."-map_reduce/3-lists^mapfoldl/2-0-"/3

warning: using map.field notation (without parentheses) to invoke function Absinthe.Schema.Prototype.__absinthe_directives__() is deprecated, you must add parentheses instead: remote.function()
  (absinthe 1.7.6) lib/absinthe/schema.ex:624: Absinthe.Schema.directives/1
  (absinthe 1.7.6) lib/absinthe/phase/schema/import_prototype_directives.ex:16: Absinthe.Phase.Schema.ImportPrototypeDirectives.run/2
  (absinthe 1.7.6) lib/absinthe/pipeline.ex:408: Absinthe.Pipeline.run_phase/3
  (absinthe 1.7.6) lib/absinthe/schema.ex:386: Absinthe.Schema.__after_compile__/2
  (elixir 1.17.0) src/elixir_module.erl:461: anonymous fn/6 in :elixir_module.expand_callback/6

warning: using map.field notation (without parentheses) to invoke function Absinthe.Schema.Prototype.Compiled.__absinthe_directives__() is deprecated, you must add parentheses instead: remote.function()
  (absinthe 1.7.6) lib/absinthe/schema/compiled.ex:27: Absinthe.Schema.Compiled.__absinthe_directives__/1
  (elixir 1.17.0) src/elixir_erl_pass.erl:715: :elixir_erl_pass.no_parens_remote/2
  (absinthe 1.7.6) lib/absinthe/schema.ex:624: Absinthe.Schema.directives/1
  (absinthe 1.7.6) lib/absinthe/phase/schema/import_prototype_directives.ex:16: Absinthe.Phase.Schema.ImportPrototypeDirectives.run/2
  (absinthe 1.7.6) lib/absinthe/pipeline.ex:408: Absinthe.Pipeline.run_phase/3
oliver-kriska commented 3 months ago

I think a lot of them are fixed but it's not released yet. Did you try master? CleanShot 2024-06-14 at 15 55 01@2x

deepankar-j commented 3 months ago

I think a lot of them are fixed but it's not released yet. Did you try master? CleanShot 2024-06-14 at 15 55 01@2x

Confirmed! Thanks for the tip. I verified that with SHA 1e022848420076ba7756056fae797cdafd9501b7, all of warnings I was seeing have been fixed.

hez commented 2 months ago

Any chance of a new release being cut?

Arp-G commented 2 months ago

Hey folks, can we please release this

oliver-kriska commented 2 months ago

I think maintainers already got message from all us to push release. So I think it would be nice from us do not write comments and messages every other day and make pressure on them.

In case it's super urgent for you, you can use github repo instead of hex.pm repo.

oliver-kriska commented 2 months ago

fyi there is new release 1.7.7 and it works