diff options
Diffstat (limited to 'src/librustc')
| -rw-r--r-- | src/librustc/back/link.rs | 1 | ||||
| -rw-r--r-- | src/librustc/metadata/encoder.rs | 2 | ||||
| -rw-r--r-- | src/librustc/middle/astencode.rs | 5 | ||||
| -rw-r--r-- | src/librustc/middle/typeck/coherence.rs | 8 |
4 files changed, 11 insertions, 5 deletions
diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs index 30ef73bf670..8e74ec1dc4c 100644 --- a/src/librustc/back/link.rs +++ b/src/librustc/back/link.rs @@ -23,6 +23,7 @@ use middle::ty; use util::ppaux; use core::char; +use core::hash::Streaming; use core::hash; use core::io::{Writer, WriterUtil}; use core::libc::{c_int, c_uint, c_char}; diff --git a/src/librustc/metadata/encoder.rs b/src/librustc/metadata/encoder.rs index c5cb6617130..2c9a824471c 100644 --- a/src/librustc/metadata/encoder.rs +++ b/src/librustc/metadata/encoder.rs @@ -26,7 +26,7 @@ use core::dvec; use core::flate; use core::hash::{Hash, HashUtil}; use core::int; -use core::io::WriterUtil; +use core::io::{Writer, WriterUtil}; use core::io; use core::str; use core::to_bytes::IterBytes; diff --git a/src/librustc/middle/astencode.rs b/src/librustc/middle/astencode.rs index cf88a0eb902..0fb587dfc9a 100644 --- a/src/librustc/middle/astencode.rs +++ b/src/librustc/middle/astencode.rs @@ -29,10 +29,11 @@ use core::{dvec, io, option, vec}; use std::ebml::reader; use std::ebml; use std::serialize; -use std::serialize::{Encodable, EncoderHelpers, DecoderHelpers}; -use std::serialize::Decodable; +use std::serialize::{Encoder, Encodable, EncoderHelpers, DecoderHelpers}; +use std::serialize::{Decoder, Decodable}; use syntax::ast; use syntax::ast_map; +use syntax::ast_util::inlined_item_utils; use syntax::ast_util; use syntax::codemap::span; use syntax::codemap; diff --git a/src/librustc/middle/typeck/coherence.rs b/src/librustc/middle/typeck/coherence.rs index 2d2be88de7f..2d1fab5f6a9 100644 --- a/src/librustc/middle/typeck/coherence.rs +++ b/src/librustc/middle/typeck/coherence.rs @@ -902,8 +902,12 @@ pub impl CoherenceChecker { // Nothing to do. } Some(base_type_def_id) => { - self.add_inherent_method(base_type_def_id, - *implementation); + // inherent methods apply to `impl Type` but not + // `impl Trait for Type`: + if associated_traits.len() == 0 { + self.add_inherent_method(base_type_def_id, + *implementation); + } self.base_type_def_ids.insert(implementation.did, base_type_def_id); |
