33 lines
1010 B
Python
33 lines
1010 B
Python
# This file is part of Hypothesis, which may be found at
|
|
# https://github.com/HypothesisWorks/hypothesis/
|
|
#
|
|
# Most of this work is copyright (C) 2013-2021 David R. MacIver
|
|
# (david@drmaciver.com), but it contains contributions by others. See
|
|
# CONTRIBUTING.rst for a full list of people who may hold copyright, and
|
|
# consult the git log if you need to determine who owns an individual
|
|
# contribution.
|
|
#
|
|
# This Source Code Form is subject to the terms of the Mozilla Public License,
|
|
# v. 2.0. If a copy of the MPL was not distributed with this file, You can
|
|
# obtain one at https://mozilla.org/MPL/2.0/.
|
|
#
|
|
# END HEADER
|
|
|
|
|
|
class UniqueIdentifier:
|
|
"""A factory for sentinel objects with nice reprs."""
|
|
|
|
def __init__(self, identifier):
|
|
self.identifier = identifier
|
|
|
|
def __repr__(self):
|
|
return self.identifier
|
|
|
|
|
|
class InferType(UniqueIdentifier):
|
|
"""We have a subclass for `infer` so we can type-hint public APIs."""
|
|
|
|
|
|
infer = InferType("infer")
|
|
not_set = UniqueIdentifier("not_set")
|