Improve name mangling for gdb
Remove __extensions__ from method symbols as well as the meth_XXX. The XXX is now used to append a few characters at the end of the name of the symbol. Closes #6602
This commit is contained in:
parent
36a4af49e0
commit
7baff57f26
5 changed files with 100 additions and 59 deletions
|
|
@ -15,6 +15,6 @@ use ambig_impl_2_lib::me;
|
|||
trait me {
|
||||
fn me(&self) -> uint;
|
||||
}
|
||||
impl me for uint { fn me(&self) -> uint { *self } } //~ NOTE is `__extensions__::me`
|
||||
impl me for uint { fn me(&self) -> uint { *self } } //~ NOTE is `me$uint::me`
|
||||
fn main() { 1u.me(); } //~ ERROR multiple applicable methods in scope
|
||||
//~^ NOTE is `ambig_impl_2_lib::__extensions__::me`
|
||||
|
|
|
|||
|
|
@ -13,11 +13,11 @@ trait foo {
|
|||
}
|
||||
|
||||
impl foo for ~[uint] {
|
||||
fn foo(&self) -> int {1} //~ NOTE candidate #1 is `__extensions__::foo`
|
||||
fn foo(&self) -> int {1} //~ NOTE candidate #1 is `foo$__extensions__::foo`
|
||||
}
|
||||
|
||||
impl foo for ~[int] {
|
||||
fn foo(&self) -> int {2} //~ NOTE candidate #2 is `__extensions__::foo`
|
||||
fn foo(&self) -> int {2} //~ NOTE candidate #2 is `foo$__extensions__::foo`
|
||||
}
|
||||
|
||||
fn main() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue