_?curses.A_ITALIC

_posixsubprocess.cloexec_pipe
os.EX_NOTFOUND
os.SF_MNOWAIT
os.SF_NODISKIO
os.SF_SYNC
(os|posix).sched_param  # system dependent. Unclear if macos has it.
posix.EX_NOTFOUND
readline.append_history_file  # not defined in macos
select.KQ_FILTER_NETDEV  # system dependent
select.kqueue.__init__  # default C signature is wrong
select.POLLMSG   # system dependent

# Sometimes these seem to exist on darwin, sometimes not
(_socket.MSG_NOSIGNAL)?
(socket.MsgFlag.MSG_NOSIGNAL)?
(socket.MSG_NOSIGNAL)?
(os.preadv)?
(os.pwritev)?
(posix.preadv)?
(posix.pwritev)?

# Exists at runtime, but missing from stubs
distutils.msvccompiler.MSVCCompiler.get_msvc_paths
distutils.msvccompiler.MSVCCompiler.set_path_env_var
distutils.msvccompiler.MacroExpander
mimetypes.MimeTypes.read_windows_registry
selectors.DefaultSelector.fileno
socket.PF_SYSTEM
socket.SYSPROTO_CONTROL

_ctypes.dlclose
_ctypes.dlopen
_ctypes.dlsym

posix.NGROUPS_MAX
select.POLLRDHUP
webbrowser.MacOSX.__init__

# ==========
# Allowlist entries that cannot or should not be fixed
# ==========

# Modules that do not exist on macos systems
_msi
_winapi
asyncio.windows_events
asyncio.windows_utils
msilib(.[a-z]+)?
msvcrt
winreg
winsound
ossaudiodev
spwd

# multiprocessing.popen_spawn_win32 exists on Darwin but fail to import
multiprocessing.popen_spawn_win32

# Platform differences that cannot be captured by the type system
os.SCHED_[A-Z_]+
posix.SCHED_[A-Z_]+

# Some of these exist on non-windows, but they are useless and this is not intended
stat.FILE_ATTRIBUTE_[A-Z_]+

# Methods that come from __getattr__() at runtime
tkinter.Tk.createfilehandler
tkinter.Tk.deletefilehandler

_?curses.ACS_.* # ACS codes are initialized only after initscr call
curses.COLORS  # Initialized after start_color
curses.COLOR_PAIRS  # Initialized after start_color
curses.COLS  # Initialized only after initscr call
curses.LINES  # Initialized only after initscr call
