File 0248-erts-Fix-index-type-in-atomics-and-counters-modules.patch of Package erlang

From 21b7bdc78271329cfa191f61ccac7ff56eb39ce4 Mon Sep 17 00:00:00 2001
From: williamthome <williamthome@hotmail.com>
Date: Wed, 5 Mar 2025 08:02:25 -0300
Subject: [PATCH] erts: Fix index type in `atomics` and `counters` modules

Both `atomics` and `counters` modules describes `index from 1 to N`.
---
 erts/preloaded/src/atomics.erl  | 16 ++++++++--------
 erts/preloaded/src/counters.erl |  8 ++++----
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/erts/preloaded/src/atomics.erl b/erts/preloaded/src/atomics.erl
index 60075bf918..99a23edf7a 100644
--- a/erts/preloaded/src/atomics.erl
+++ b/erts/preloaded/src/atomics.erl
@@ -107,7 +107,7 @@ encode_opts(_, _) ->
 -doc(#{since => <<"OTP 21.2">>}).
 -spec put(Ref, Ix, Value) -> ok when
       Ref  :: atomics_ref(),
-      Ix :: integer(),
+      Ix :: pos_integer(),
       Value :: integer().
 put(_Ref, _Ix, _Value) ->
     erlang:nif_error(undef).
@@ -116,7 +116,7 @@ put(_Ref, _Ix, _Value) ->
 -doc(#{since => <<"OTP 21.2">>}).
 -spec get(Ref, Ix) -> integer() when
       Ref  :: atomics_ref(),
-      Ix :: integer().
+      Ix :: pos_integer().
 get(_Ref, _Ix) ->
     erlang:nif_error(undef).
 
@@ -124,7 +124,7 @@ get(_Ref, _Ix) ->
 -doc(#{since => <<"OTP 21.2">>}).
 -spec add(Ref, Ix, Incr) -> ok when
       Ref  :: atomics_ref(),
-      Ix :: integer(),
+      Ix :: pos_integer(),
       Incr :: integer().
 add(_Ref, _Ix, _Incr) ->
     erlang:nif_error(undef).
@@ -133,7 +133,7 @@ add(_Ref, _Ix, _Incr) ->
 -doc(#{since => <<"OTP 21.2">>}).
 -spec add_get(Ref, Ix, Incr) -> integer() when
       Ref  :: atomics_ref(),
-      Ix :: integer(),
+      Ix :: pos_integer(),
       Incr :: integer().
 add_get(_Ref, _Ix, _Incr) ->
     erlang:nif_error(undef).
@@ -142,7 +142,7 @@ add_get(_Ref, _Ix, _Incr) ->
 -doc(#{since => <<"OTP 21.2">>}).
 -spec sub(Ref, Ix, Decr) -> ok when
       Ref  :: atomics_ref(),
-      Ix :: integer(),
+      Ix :: pos_integer(),
       Decr :: integer().
 sub(Ref, Ix, Decr) ->
     try
@@ -156,7 +156,7 @@ sub(Ref, Ix, Decr) ->
 -doc(#{since => <<"OTP 21.2">>}).
 -spec sub_get(Ref, Ix, Decr) -> integer() when
       Ref  :: atomics_ref(),
-      Ix :: integer(),
+      Ix :: pos_integer(),
       Decr :: integer().
 sub_get(Ref, Ix, Decr) ->
     try
@@ -172,7 +172,7 @@ Atomically replace the value of the atomic with `Desired` and return the previou
 -doc(#{since => <<"OTP 21.2">>}).
 -spec exchange(Ref, Ix, Desired) -> integer() when
       Ref  :: atomics_ref(),
-      Ix :: integer(),
+      Ix :: pos_integer(),
       Desired :: integer().
 exchange(_Ref, _Ix, _Desired) ->
     erlang:nif_error(undef).
@@ -187,7 +187,7 @@ not equal to `Expected`.
 -doc(#{since => <<"OTP 21.2">>}).
 -spec compare_exchange(Ref, Ix, Expected, Desired) -> ok | integer() when
       Ref  :: atomics_ref(),
-      Ix :: integer(),
+      Ix :: pos_integer(),
       Expected :: integer(),
       Desired :: integer().
 compare_exchange(_Ref, _Ix, _Expected, _Desired) ->
diff --git a/erts/preloaded/src/counters.erl b/erts/preloaded/src/counters.erl
index 9c249a0b73..ba26ef90e9 100644
--- a/erts/preloaded/src/counters.erl
+++ b/erts/preloaded/src/counters.erl
@@ -121,7 +121,7 @@ new(Size, Options) ->
 -doc(#{since => <<"OTP 21.2">>}).
 -spec get(Ref, Ix) -> integer() when
       Ref  :: counters_ref(),
-      Ix :: integer().
+      Ix :: pos_integer().
 get(Ref, Ix) ->
     try
         case Ref of
@@ -142,7 +142,7 @@ get(Ref, Ix) ->
 -doc(#{since => <<"OTP 21.2">>}).
 -spec add(Ref, Ix, Incr) -> ok when
       Ref  :: counters_ref(),
-      Ix :: integer(),
+      Ix :: pos_integer(),
       Incr :: integer().
 add(Ref, Ix, Incr) ->
     try
@@ -164,7 +164,7 @@ add(Ref, Ix, Incr) ->
 -doc(#{since => <<"OTP 21.2">>}).
 -spec sub(Ref, Ix, Decr) -> ok when
       Ref  :: counters_ref(),
-      Ix :: integer(),
+      Ix :: pos_integer(),
       Decr :: integer().
 sub(Ref, Ix, Decr) ->
     try
@@ -197,7 +197,7 @@ Write `Value` to counter at index `Ix`.
 -doc(#{since => <<"OTP 21.2">>}).
 -spec put(Ref, Ix, Value) -> ok when
       Ref  :: counters_ref(),
-      Ix :: integer(),
+      Ix :: pos_integer(),
       Value :: integer().
 put(Ref, Ix, Value) ->
     try
-- 
2.43.0

openSUSE Build Service is sponsored by