13d33064a6
This removes another large chunk of this odd 'clownshoes' identifier showing up in symbol names. These all originated from external crates because the encoded items were encoded independently of the paths calculated in ast_map. The encoding of these paths now uses the helper function in ast_map to calculate the "pretty name" for an impl block. Unfortunately there is still no information about generics in the symbol name, but it's certainly vastly better than before hash::__extensions__::write::_version::v0.8 becomes hash::Writer$SipState::write::hversion::v0.8 This also fixes bugs in which lots of methods would show up as `meth_XXX`, they now only show up as `meth` and throw some extra characters onto the version string.
21 lines
811 B
Rust
21 lines
811 B
Rust
// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
|
|
// file at the top-level directory of this distribution and at
|
|
// http://rust-lang.org/COPYRIGHT.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
|
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
|
// option. This file may not be copied, modified, or distributed
|
|
// except according to those terms.
|
|
|
|
// xfail-fast aux-build
|
|
// aux-build:ambig_impl_2_lib.rs
|
|
extern mod ambig_impl_2_lib;
|
|
use ambig_impl_2_lib::me;
|
|
trait me {
|
|
fn me(&self) -> uint;
|
|
}
|
|
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::me$uint::me`
|