Commits on Oct 9, 2023
-
fix: Don't deepcopy the local config
This was done in commit 3cbe472 to avoid a type warning that the second and next arguments to ChainMap are not mutable. Related Mypy issue: python/typeshed#8430. When we use `!relative` in MkDocs configuration, the config then contains a MkDocs path placeholder instance, which itself contains a reference to the MkDocs config, and all its plugins, including mkdocstrings, and all its objects, etc. Upon deepcopying this huge object tree, deepcopy fails on mkdocstrings private attribute `_inv_futures`, which contains `Future` and therefore `thread.RLock` objects, which are not serializable. This failed with a `TypeError: cannot pickle '_thread.RLock` objects`. So in this commit we stop deep-copying everything just to avoid a Mypy warning, and instead we add a type-ignore comment. If Mypy fixes this someday, we'll simply get a new warning that the comment is unused.