mirror of
https://github.com/pybind/pybind11.git
synced 2026-03-14 20:27:47 +00:00
enum_: move most functionality to a non-template implementation
This commit addresses an inefficiency in how enums are created in pybind11. Most of the enum_<> implementation is completely generic -- however, being a template class, it ended up instantiating vast amounts of essentially identical code in larger projects with many enums. This commit introduces a generic non-templated helper class that is compatible with any kind of enumeration. enum_ then becomes a thin wrapper around this new class. The new enum_<> API is designed to be 100% compatible with the old one.
This commit is contained in:
@@ -153,4 +153,4 @@ def test_enum_to_int():
|
||||
def test_duplicate_enum_name():
|
||||
with pytest.raises(ValueError) as excinfo:
|
||||
m.register_bad_enum()
|
||||
assert str(excinfo.value) == "Enum error - element with name: ONE already exists"
|
||||
assert str(excinfo.value) == 'SimpleEnum: element "ONE" already exists!'
|
||||
|
||||
Reference in New Issue
Block a user