diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2013-08-30 00:47:10 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2013-09-02 23:12:41 -0700 |
| commit | 36a4af49e0d66026e8ee7d156b2631208c4de2e5 (patch) | |
| tree | 669d42fe25c44bcfb30d7a1b1b723556c661967e /src/test/codegen/stack-alloc-string-slice.cc | |
| parent | 4600212a385b41f0c718b6b07dbb6c2c4531314a (diff) | |
| download | rust-36a4af49e0d66026e8ee7d156b2631208c4de2e5.tar.gz rust-36a4af49e0d66026e8ee7d156b2631208c4de2e5.zip | |
Remove __extensions__ in names for a "pretty name"
As with the previous commit, this is targeted at removing the possibility of collisions between statics. The main use case here is when there's a type-parametric function with an inner static that's compiled as a library. Before this commit, any impl would generate a path item of "__extensions__". This changes this identifier to be a "pretty name", which is either the last element of the path of the trait implemented or the last element of the type's path that's being implemented. That doesn't quite cut it though, so the (trait, type) pair is hashed and again used to append information to the symbol. Essentially, __extensions__ was removed for something nicer for debugging, and then some more information was added to symbol name by including a hash of the trait being implemented and type it's being implemented for. This should prevent colliding names for inner statics in regular functions with similar names.
Diffstat (limited to 'src/test/codegen/stack-alloc-string-slice.cc')
0 files changed, 0 insertions, 0 deletions
