jnthn / p6-io-socket-async-ssl

Asynchronous TLS sockets in Raku
11 stars 19 forks source link

Duplicate symbol discovered by Whateverable #77

Open coke opened 2 weeks ago

coke commented 2 weeks ago

See https://github.com/Raku/whateverable/issues/386

The following code errors, and was discovered only because it was combined with IRC::Client in , and I kept narrowing the second use statement below.

$ raku -e 'use IRC::Client; use IO::Socket::Async::SSL'
===SORRY!=== Error while compiling -e
Merging GLOBAL symbols failed: duplicate definition of symbol SSL
at -e:1

The only dependency this module has is OpenSSL, and using that as the second use does not generate the same duplicate definition error.

This is with the following versions installed:

IRC::Client:ver<4.0.9>:auth<zef:lizmat>
IO::Socket::Async::SSL:ver<0.7.14>:auth<zef:jnthn>
IO::Socket::Async::SSL:ver<0.8.0>:auth<zef:jnthn>
coke commented 2 weeks ago

Reduced it to just this module - IRC:Client has a hardcoded version, so it's equivalent to:

$ raku -e 'use IO::Socket::Async::SSL:ver<0.8.0>; use IO::Socket::Async::SSL:ver<0.7.14>'
===SORRY!=== Error while compiling -e
Merging GLOBAL symbols failed: duplicate definition of symbol SSL
at -e:1