I am trying to go around an issue with the standard lib keeping an object member private (https://github.com/nim-lang/Nim/issues/17021).
In order to do that, I abuse "include" to patch the library:
# file patched_net.nim
include net
...define new functions that I miss from the original library...
This works with a single library but if I do it with multiple libraries that require each other (say net and asyncnet), then I end up having multiple identical types defined under the same name, but they are incompatible and addressing them directly does not solve the problem.
In my example, this happens with SslContext which is defined in net and used in asyncnet (so my patched_net and patched_asyncnet modules do not play well together).
I hope I was clear. Any idea on how to work that out?
I will do that.
Actually, the net/asyncnet api is out of sync in many places. I might extend that to a few more commits.