commit:     9f82623555bffdc6a0a3a9ff7e0b6b60962b57b8
Author:     Brian Harring <ferringb <AT> gmail <DOT> com>
AuthorDate: Sun Dec 14 17:00:57 2025 +0000
Commit:     Brian Harring <ferringb <AT> gmail <DOT> com>
CommitDate: Mon Dec 15 12:42:10 2025 +0000
URL:        
https://gitweb.gentoo.org/proj/pkgcore/snakeoil.git/commit/?id=9f826235

s/combine_classes/combine_metaclasses/ since it's just for metaclasses

Signed-off-by: Brian Harring <ferringb <AT> gmail.com>

 src/snakeoil/klass/__init__.py |  6 +++---
 src/snakeoil/klass/util.py     |  4 ++--
 tests/klass/test_util.py       | 18 ++++++++++--------
 3 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/src/snakeoil/klass/__init__.py b/src/snakeoil/klass/__init__.py
index 36f5cc7..4603a08 100644
--- a/src/snakeoil/klass/__init__.py
+++ b/src/snakeoil/klass/__init__.py
@@ -8,7 +8,7 @@ involved in writing classes.
 
 __all__ = (
     "abstractclassvar",
-    "combine_classes",
+    "combine_metaclasses",
     "generic_equality",
     "reflective_hash",
     "inject_richcmp_methods_from_cmp",
@@ -66,7 +66,7 @@ from .properties import (
     jit_attr_none,
 )
 from .util import (
-    combine_classes,
+    combine_metaclasses,
     copy_docs,
     get_attrs_of,
     get_slot_of,
@@ -350,7 +350,7 @@ def generic_equality(
     removal_in=(0, 12, 0),
 )
 class chained_getter(
-    GenericEquality, metaclass=combine_classes(WeakInstMeta, abc.ABCMeta)
+    GenericEquality, metaclass=combine_metaclasses(WeakInstMeta, abc.ABCMeta)
 ):
     """
     Deprecated.  Use operator.attrgetter instead.

diff --git a/src/snakeoil/klass/util.py b/src/snakeoil/klass/util.py
index 6d39a97..b92950b 100644
--- a/src/snakeoil/klass/util.py
+++ b/src/snakeoil/klass/util.py
@@ -5,7 +5,7 @@ __all__ = (
     "get_slots_of",
     "get_subclasses_of",
     "is_metaclass",
-    "combine_classes",
+    "combine_metaclasses",
     "copy_class_docs",
     "copy_docs",
     "ClassSlotting",
@@ -162,7 +162,7 @@ def get_instances_of(cls: type, getattribute=False) -> 
list[type]:
 
 
 @functools.lru_cache
-def combine_classes(kls: type, *extra: type) -> type:
+def combine_metaclasses(kls: type, *extra: type) -> type:
     """Given a set of classes, combine this as if one had wrote the class by 
hand
 
     This is primarily for composing metaclasses on the fly; this:

diff --git a/tests/klass/test_util.py b/tests/klass/test_util.py
index 3fc4008..d33ec9a 100644
--- a/tests/klass/test_util.py
+++ b/tests/klass/test_util.py
@@ -8,7 +8,7 @@ import pytest
 
 from snakeoil.klass.util import (
     ClassSlotting,
-    combine_classes,
+    combine_metaclasses,
     get_attrs_of,
     get_instances_of,
     get_slots_of,
@@ -103,7 +103,7 @@ def test_slots_of():
     ] == list(get_slots_of(kls4))
 
 
-def test_combine_classes():
+def test_combine_metaclasses():
     class kls1(type):
         pass
 
@@ -114,20 +114,22 @@ def test_combine_classes():
         pass
 
     # assert it requires at least one arg
-    pytest.raises(TypeError, combine_classes)
+    pytest.raises(TypeError, combine_metaclasses)
 
-    assert combine_classes(kls1) is kls1, "unneeded derivative metaclass was 
created"
+    assert combine_metaclasses(kls1) is kls1, (
+        "unneeded derivative metaclass was created"
+    )
 
     # assert that it refuses duplicats
-    pytest.raises(TypeError, combine_classes, kls1, kls1)
+    pytest.raises(TypeError, combine_metaclasses, kls1, kls1)
 
     # there is caching, thus also do identity check whilst checking the MRO 
chain
-    kls = combine_classes(kls1, kls2, kls3)
-    assert kls is combine_classes(kls1, kls2, kls3), (
+    kls = combine_metaclasses(kls1, kls2, kls3)
+    assert kls is combine_metaclasses(kls1, kls2, kls3), (
         "combine_metaclass uses lru_cache to avoid generating duplicate 
classes, however this didn't cache"
     )
 
-    combined = combine_classes(kls1, kls2)
+    combined = combine_metaclasses(kls1, kls2)
     assert [combined, kls1, kls2, type, object] == list(combined.__mro__)
 
 

Reply via email to