Hi,

2013/5/30 Gábor Lehel <[email protected]>

> Maybe I'm unusual. But in C++ I'm always super-careful (one might say anal
> retentive) about keeping my headers as clean of implementation details as
> humanly possible. I don't think forgetting a `priv` would ever be an issue.
> But I'm not everyone.


Unfortunately, it's not always enough: traditionally in Unix, any functions
and other symbols that are not explicitly private to the compilation unit
are emitted as PLT symbols by default when building a shared library. This
is not only near-useless symbol table pollution and extra grind material
for the dynamic linker, it's also an API leak: anyone could define their
own prototype and call your implementation function.

Best regards,
  Mikhail
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to