Skip to content

Commit 103a740

Browse files
committed
Use functools.wraps.
1 parent 91eb76b commit 103a740

1 file changed

Lines changed: 13 additions & 14 deletions

File tree

Lib/ctypes/util.py

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
from dataclasses import dataclass
55

6+
lazy import functools
67
lazy import shutil
78
lazy import subprocess
89

@@ -540,20 +541,18 @@ def _process_struct(klass, /, *, align, layout, endian, pack):
540541
else:
541542
raise ValueError(f"expected 'big', 'little', or 'native', but got {endian!r}")
542543

543-
class _Struct(endian_class):
544-
vars().update(vars(klass))
545-
if align is not None:
546-
_align_ = align
547-
if layout is not None:
548-
_layout_ = layout
549-
if pack is not None:
550-
_pack_ = pack
551-
_fields_ = fields
552-
_anonymous_ = anonymous
553-
554-
_Struct.__name__ = klass.__name__
555-
_Struct.__qualname__ = klass.__qualname__
556-
_Struct.__module__ = klass.__module__
544+
@functools.wraps(klass, updated=())
545+
class _Struct(endian_class):
546+
vars().update(vars(klass))
547+
if align is not None:
548+
_align_ = align
549+
if layout is not None:
550+
_layout_ = layout
551+
if pack is not None:
552+
_pack_ = pack
553+
_fields_ = fields
554+
_anonymous_ = anonymous
555+
557556
return _Struct
558557

559558

0 commit comments

Comments
 (0)