about summary refs log tree commit diff
path: root/src/librustc
diff options
context:
space:
mode:
Diffstat (limited to 'src/librustc')
-rw-r--r--src/librustc/back/link.rs1
-rw-r--r--src/librustc/metadata/encoder.rs2
-rw-r--r--src/librustc/middle/astencode.rs5
-rw-r--r--src/librustc/middle/typeck/coherence.rs8
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);