# Error: is not present in stub
# =============================
# internal API stuff we dropped because it wasn't necessary
gevent.libev.corecext.loop.async

# these shouldn't be in __all__ they end up there, due to how gevent imports
# the globals from the stdlib ssl module
gevent.subprocess.Popen.pipe_cloexec
gevent.subprocess.Popen.rawlink

# Error: is not present at runtime
# =============================
# this is currently missing from the gevent implementation, but we'll ignore
# it for simplicity's sake
gevent.socket.SocketType.sendmsg_afalg

# Due to the way gevent copies globals from other modules, there's a few symbols
# that may not end up in the module, that would otherwise end up there with a
# `from x import *`. None of these seem critical, so we ignore them
gevent.socket.MsgFlag

# Error: is inconsistent
# ======================
# these are inconsistent due to the ParamSpec hack for positional only callables
gevent.libev.corecext.loop.run_callback
gevent.libev.corecext.loop.run_callback_threadsafe
gevent.libev.watcher.watcher.feed

# undocumented argument for internal use only
gevent.libev.watcher.watcher.__init__

# ares_host_result always has the same layout, so we set the arguments on __new__
# to reflect that fact, we don't care that the implementation accepts any number
# of arguments
gevent.resolver.cares.ares_host_result.__new__

# we have punted on socket, the gevent version of these functions sometimes use
# named parameters, while the base implementation only allows positional arguments
# we're fine with holding the geven implemenation to the same restrictions
# additionally there's some functions with additional optional arguments, that
# we are fine with ignoring for now as well
gevent.socket.SocketType.recvmsg_into
gevent.socket.SocketType.sendmsg
gevent.socket.socket.recvmsg_into
gevent.socket.socket.sendmsg
