From 465b76bb9bb2a98a323e004e7be11c6966172a77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Fri, 19 Dec 2025 15:36:00 +0100 Subject: [PATCH] Mark code as generated Elixir v1.20+ can detect that in some times you are doing a call to `Map.get(%{}, name)`, which is always `nil`, and emits a warning. We can skip those warnings by marking the code as generated. --- lib/surface/api.ex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/surface/api.ex b/lib/surface/api.ex index 87ecffea..03bf1ed0 100644 --- a/lib/surface/api.ex +++ b/lib/surface/api.ex @@ -233,7 +233,7 @@ defmodule Surface.API do props_by_name = for p <- props, into: %{}, do: {p.name, p} required_props_names = for %{name: name, opts: opts} <- props, opts[:required], do: name - quote do + quote generated: true do @doc false def __props__() do unquote(Macro.escape(props)) @@ -263,7 +263,7 @@ defmodule Surface.API do assigned_slots_by_parent = Module.get_attribute(env.module, :assigned_slots_by_parent) || %{} - quote do + quote generated: true do @doc false def __slots__() do unquote(slots |> Enum.reverse() |> Macro.escape())