diff -r 268662aac075 -r 2c4f656c8e9f mercurial/utils/interfaceutil.py --- a/mercurial/utils/interfaceutil.py Sun Aug 18 00:45:33 2019 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,40 +0,0 @@ -# interfaceutil.py - Utilities for declaring interfaces. -# -# Copyright 2018 Gregory Szorc -# -# This software may be used and distributed according to the terms of the -# GNU General Public License version 2 or any later version. - -# zope.interface imposes a run-time cost due to module import overhead and -# bookkeeping for declaring interfaces. So, we use stubs for various -# zope.interface primitives unless instructed otherwise. - -from __future__ import absolute_import - -from .. import ( - encoding, -) - -if encoding.environ.get('HGREALINTERFACES'): - from ..thirdparty.zope import ( - interface as zi, - ) - - Attribute = zi.Attribute - Interface = zi.Interface - implementer = zi.implementer -else: - class Attribute(object): - def __init__(self, __name__, __doc__=''): - pass - - class Interface(object): - def __init__(self, name, bases=(), attrs=None, __doc__=None, - __module__=None): - pass - - def implementer(*ifaces): - def wrapper(cls): - return cls - - return wrapper