From 20767472ec84e123c31432d5d6e169801f7b0e1a Mon Sep 17 00:00:00 2001 From: Peter M Date: Thu, 1 Feb 2024 00:05:01 +0100 Subject: [PATCH] Fix: Elixir 1.16 Protocols Signed-off-by: Peter M --- libs/exavmlib/lib/Code.ex | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/libs/exavmlib/lib/Code.ex b/libs/exavmlib/lib/Code.ex index f18f62dba..8ee1e183d 100644 --- a/libs/exavmlib/lib/Code.ex +++ b/libs/exavmlib/lib/Code.ex @@ -20,7 +20,24 @@ defmodule Code do @compile {:autoload, false} + @moduledoc """ + This module is to satisfy certain code loading checks in Elixir, + specifically with regards to protocols support. + The functions are noop, and doesn't perform the actual checks, + as they are not relevant on AtomVM. + """ + @doc """ + required for protocols to work with Elixir >= 1.16, due to code loading checks. + """ + def ensure_compiled(module) do + {:module, module} + end + + @doc """ + previously required for protocols support, due to code loading checks. + """ + @deprecated "Use Code.ensure_compiled/1 instead" def ensure_compiled?(_) do true end