diff options
Diffstat (limited to 'src/librustc')
40 files changed, 139 insertions, 139 deletions
diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs index 5f53cd85705..95c08d6a41e 100644 --- a/src/librustc/back/link.rs +++ b/src/librustc/back/link.rs @@ -45,7 +45,7 @@ use syntax::attr::AttrMetaMethods; use syntax::crateid::CrateId; use syntax::parse::token; -#[deriving(Clone, Eq, Ord, TotalOrd, TotalEq)] +#[deriving(Clone, PartialEq, PartialOrd, TotalOrd, TotalEq)] pub enum OutputType { OutputTypeBitcode, OutputTypeAssembly, diff --git a/src/librustc/back/svh.rs b/src/librustc/back/svh.rs index 9fd829ab901..1fce6eaf8e1 100644 --- a/src/librustc/back/svh.rs +++ b/src/librustc/back/svh.rs @@ -53,7 +53,7 @@ use std::iter::range_step; use syntax::ast; use syntax::visit; -#[deriving(Clone, Eq)] +#[deriving(Clone, PartialEq)] pub struct Svh { hash: String, } diff --git a/src/librustc/driver/config.rs b/src/librustc/driver/config.rs index 16965bfa67f..db934c7a404 100644 --- a/src/librustc/driver/config.rs +++ b/src/librustc/driver/config.rs @@ -46,7 +46,7 @@ pub struct Config { pub uint_type: UintTy, } -#[deriving(Clone, Eq)] +#[deriving(Clone, PartialEq)] pub enum OptLevel { No, // -O0 Less, // -O1 @@ -54,7 +54,7 @@ pub enum OptLevel { Aggressive // -O3 } -#[deriving(Clone, Eq)] +#[deriving(Clone, PartialEq)] pub enum DebugInfoLevel { NoDebugInfo, LimitedDebugInfo, @@ -125,14 +125,14 @@ pub fn basic_options() -> Options { // users can have their own entry // functions that don't start a // scheduler -#[deriving(Eq)] +#[deriving(PartialEq)] pub enum EntryFnType { EntryMain, EntryStart, EntryNone, } -#[deriving(Eq, Ord, Clone, TotalOrd, TotalEq, Hash)] +#[deriving(PartialEq, PartialOrd, Clone, TotalOrd, TotalEq, Hash)] pub enum CrateType { CrateTypeExecutable, CrateTypeDylib, diff --git a/src/librustc/lib/llvm.rs b/src/librustc/lib/llvm.rs index 4a36dfd7842..a6c2d75dc0d 100644 --- a/src/librustc/lib/llvm.rs +++ b/src/librustc/lib/llvm.rs @@ -29,7 +29,7 @@ pub static False: Bool = 0 as Bool; // Consts for the LLVM CallConv type, pre-cast to uint. -#[deriving(Eq)] +#[deriving(PartialEq)] pub enum CallConv { CCallConv = 0, FastCallConv = 8, @@ -156,7 +156,7 @@ pub enum RealPredicate { // The LLVM TypeKind type - must stay in sync with the def of // LLVMTypeKind in llvm/include/llvm-c/Core.h -#[deriving(Eq)] +#[deriving(PartialEq)] #[repr(C)] pub enum TypeKind { Void = 0, @@ -226,7 +226,7 @@ pub enum AsmDialect { AD_Intel = 1 } -#[deriving(Eq)] +#[deriving(PartialEq)] #[repr(C)] pub enum CodeGenOptLevel { CodeGenLevelNone = 0, diff --git a/src/librustc/metadata/common.rs b/src/librustc/metadata/common.rs index c798118bbd0..8aeef3dca98 100644 --- a/src/librustc/metadata/common.rs +++ b/src/librustc/metadata/common.rs @@ -114,7 +114,7 @@ pub static tag_items_data_item_reexport_def_id: uint = 0x39; pub static tag_items_data_item_reexport_name: uint = 0x3a; // used to encode crate_ctxt side tables -#[deriving(Eq)] +#[deriving(PartialEq)] #[repr(uint)] pub enum astencode_tag { // Reserves 0x40 -- 0x5f tag_ast = 0x40, diff --git a/src/librustc/metadata/cstore.rs b/src/librustc/metadata/cstore.rs index eb1beda898f..b355ede72c6 100644 --- a/src/librustc/metadata/cstore.rs +++ b/src/librustc/metadata/cstore.rs @@ -45,13 +45,13 @@ pub struct crate_metadata { pub span: Span, } -#[deriving(Show, Eq, Clone)] +#[deriving(Show, PartialEq, Clone)] pub enum LinkagePreference { RequireDynamic, RequireStatic, } -#[deriving(Eq, FromPrimitive)] +#[deriving(PartialEq, FromPrimitive)] pub enum NativeLibaryKind { NativeStatic, // native static library (.a archive) NativeFramework, // OSX-specific @@ -60,7 +60,7 @@ pub enum NativeLibaryKind { // Where a crate came from on the local filesystem. One of these two options // must be non-None. -#[deriving(Eq, Clone)] +#[deriving(PartialEq, Clone)] pub struct CrateSource { pub dylib: Option<Path>, pub rlib: Option<Path>, diff --git a/src/librustc/metadata/decoder.rs b/src/librustc/metadata/decoder.rs index 56b320d2a07..30b40369c10 100644 --- a/src/librustc/metadata/decoder.rs +++ b/src/librustc/metadata/decoder.rs @@ -103,7 +103,7 @@ fn lookup_item<'a>(item_id: ast::NodeId, data: &'a [u8]) -> ebml::Doc<'a> { find_item(item_id, items) } -#[deriving(Eq)] +#[deriving(PartialEq)] enum Family { ImmStatic, // c MutStatic, // b diff --git a/src/librustc/middle/borrowck/check_loans.rs b/src/librustc/middle/borrowck/check_loans.rs index 77fad454e6e..140bfcd684a 100644 --- a/src/librustc/middle/borrowck/check_loans.rs +++ b/src/librustc/middle/borrowck/check_loans.rs @@ -82,7 +82,7 @@ pub fn check_loans(bccx: &BorrowckCtxt, clcx.visit_block(body, ()); } -#[deriving(Eq)] +#[deriving(PartialEq)] enum MoveError { MoveOk, MoveWhileBorrowed(/*loan*/Rc<LoanPath>, /*loan*/Span) diff --git a/src/librustc/middle/borrowck/mod.rs b/src/librustc/middle/borrowck/mod.rs index e52d8ba3975..c1f8ea4d00c 100644 --- a/src/librustc/middle/borrowck/mod.rs +++ b/src/librustc/middle/borrowck/mod.rs @@ -166,7 +166,7 @@ pub struct BorrowStats { pub type BckResult<T> = Result<T, BckError>; -#[deriving(Eq)] +#[deriving(PartialEq)] pub enum PartialTotal { Partial, // Loan affects some portion Total // Loan affects entire path @@ -188,13 +188,13 @@ pub struct Loan { cause: euv::LoanCause, } -#[deriving(Eq, TotalEq, Hash)] +#[deriving(PartialEq, TotalEq, Hash)] pub enum LoanPath { LpVar(ast::NodeId), // `x` in doc.rs LpExtend(Rc<LoanPath>, mc::MutabilityCategory, LoanPathElem) } -#[deriving(Eq, TotalEq, Hash)] +#[deriving(PartialEq, TotalEq, Hash)] pub enum LoanPathElem { LpDeref(mc::PointerKind), // `*LV` in doc.rs LpInterior(mc::InteriorKind) // `LV.f` in doc.rs @@ -267,7 +267,7 @@ pub struct Restriction { set: RestrictionSet } -#[deriving(Eq)] +#[deriving(PartialEq)] pub struct RestrictionSet { bits: u32 } @@ -305,7 +305,7 @@ impl Repr for RestrictionSet { // Errors // Errors that can occur -#[deriving(Eq)] +#[deriving(PartialEq)] pub enum bckerr_code { err_mutbl, err_out_of_scope(ty::Region, ty::Region), // superscope, subscope @@ -315,7 +315,7 @@ pub enum bckerr_code { // Combination of an error code and the categorization of the expression // that caused it -#[deriving(Eq)] +#[deriving(PartialEq)] pub struct BckError { span: Span, cause: euv::LoanCause, diff --git a/src/librustc/middle/borrowck/move_data.rs b/src/librustc/middle/borrowck/move_data.rs index 068f8442c51..5a95343c622 100644 --- a/src/librustc/middle/borrowck/move_data.rs +++ b/src/librustc/middle/borrowck/move_data.rs @@ -65,7 +65,7 @@ pub struct FlowedMoveData<'a> { } /// Index into `MoveData.paths`, used like a pointer -#[deriving(Eq)] +#[deriving(PartialEq)] pub struct MovePathIndex(uint); impl MovePathIndex { @@ -84,7 +84,7 @@ static InvalidMovePathIndex: MovePathIndex = MovePathIndex(uint::MAX); /// Index into `MoveData.moves`, used like a pointer -#[deriving(Eq)] +#[deriving(PartialEq)] pub struct MoveIndex(uint); impl MoveIndex { diff --git a/src/librustc/middle/check_loop.rs b/src/librustc/middle/check_loop.rs index 6e738b14308..0c677f164d4 100644 --- a/src/librustc/middle/check_loop.rs +++ b/src/librustc/middle/check_loop.rs @@ -15,7 +15,7 @@ use syntax::codemap::Span; use syntax::visit::Visitor; use syntax::visit; -#[deriving(Clone, Eq)] +#[deriving(Clone, PartialEq)] enum Context { Normal, Loop, Closure } diff --git a/src/librustc/middle/check_match.rs b/src/librustc/middle/check_match.rs index e21c8348a8b..2053f7dd01b 100644 --- a/src/librustc/middle/check_match.rs +++ b/src/librustc/middle/check_match.rs @@ -215,7 +215,7 @@ enum useful { not_useful, } -#[deriving(Clone, Eq)] +#[deriving(Clone, PartialEq)] enum ctor { single, variant(DefId), diff --git a/src/librustc/middle/const_eval.rs b/src/librustc/middle/const_eval.rs index d8fe801b395..e7ad08d4eb2 100644 --- a/src/librustc/middle/const_eval.rs +++ b/src/librustc/middle/const_eval.rs @@ -288,7 +288,7 @@ pub fn process_crate(krate: &ast::Crate, // FIXME (#33): this doesn't handle big integer/float literals correctly // (nor does the rest of our literal handling). -#[deriving(Clone, Eq)] +#[deriving(Clone, PartialEq)] pub enum const_val { const_float(f64), const_int(i64), @@ -514,7 +514,7 @@ pub fn lit_to_const(lit: &Lit) -> const_val { } } -fn compare_vals<T: Ord>(a: T, b: T) -> Option<int> { +fn compare_vals<T: PartialOrd>(a: T, b: T) -> Option<int> { Some(if a == b { 0 } else if a < b { -1 } else { 1 }) } pub fn compare_const_vals(a: &const_val, b: &const_val) -> Option<int> { diff --git a/src/librustc/middle/effect.rs b/src/librustc/middle/effect.rs index b3b09ba631e..bc9a1c9b5fc 100644 --- a/src/librustc/middle/effect.rs +++ b/src/librustc/middle/effect.rs @@ -20,7 +20,7 @@ use syntax::codemap::Span; use syntax::visit; use syntax::visit::Visitor; -#[deriving(Eq)] +#[deriving(PartialEq)] enum UnsafeContext { SafeContext, UnsafeFn, diff --git a/src/librustc/middle/expr_use_visitor.rs b/src/librustc/middle/expr_use_visitor.rs index 9d735dbaeae..467cd726a65 100644 --- a/src/librustc/middle/expr_use_visitor.rs +++ b/src/librustc/middle/expr_use_visitor.rs @@ -68,7 +68,7 @@ pub trait Delegate { mode: MutateMode); } -#[deriving(Eq)] +#[deriving(PartialEq)] pub enum LoanCause { ClosureCapture(Span), AddrOf, @@ -78,13 +78,13 @@ pub enum LoanCause { ClosureInvocation } -#[deriving(Eq,Show)] +#[deriving(PartialEq,Show)] pub enum ConsumeMode { Copy, // reference to x where x has a type that copies Move, // reference to x where x has a type that moves } -#[deriving(Eq,Show)] +#[deriving(PartialEq,Show)] pub enum MutateMode { JustWrite, // x = y WriteAndRead, // x += y diff --git a/src/librustc/middle/graph.rs b/src/librustc/middle/graph.rs index 5773d0bafa1..cd601012708 100644 --- a/src/librustc/middle/graph.rs +++ b/src/librustc/middle/graph.rs @@ -55,11 +55,11 @@ pub struct Edge<E> { pub data: E, } -#[deriving(Eq)] +#[deriving(PartialEq)] pub struct NodeIndex(pub uint); pub static InvalidNodeIndex: NodeIndex = NodeIndex(uint::MAX); -#[deriving(Eq)] +#[deriving(PartialEq)] pub struct EdgeIndex(pub uint); pub static InvalidEdgeIndex: EdgeIndex = EdgeIndex(uint::MAX); @@ -356,7 +356,7 @@ mod test { }); } - fn test_adjacent_edges<N:Eq,E:Eq>(graph: &Graph<N,E>, + fn test_adjacent_edges<N:PartialEq,E:PartialEq>(graph: &Graph<N,E>, start_index: NodeIndex, start_data: N, expected_incoming: &[(E,N)], diff --git a/src/librustc/middle/lang_items.rs b/src/librustc/middle/lang_items.rs index f80c325496d..d5bd44fd27c 100644 --- a/src/librustc/middle/lang_items.rs +++ b/src/librustc/middle/lang_items.rs @@ -42,7 +42,7 @@ macro_rules! lets_do_this { $( $variant:ident, $name:expr, $method:ident; )* ) => { -#[deriving(FromPrimitive, Eq, TotalEq, Hash)] +#[deriving(FromPrimitive, PartialEq, TotalEq, Hash)] pub enum LangItem { $($variant),* } diff --git a/src/librustc/middle/lint.rs b/src/librustc/middle/lint.rs index 8cceb16b34f..7a11924800b 100644 --- a/src/librustc/middle/lint.rs +++ b/src/librustc/middle/lint.rs @@ -72,7 +72,7 @@ use syntax::parse::token; use syntax::visit::Visitor; use syntax::{ast, ast_util, visit}; -#[deriving(Clone, Show, Eq, Ord, TotalEq, TotalOrd, Hash)] +#[deriving(Clone, Show, PartialEq, PartialOrd, TotalEq, TotalOrd, Hash)] pub enum Lint { CTypes, UnusedImports, @@ -135,12 +135,12 @@ pub fn level_to_str(lv: Level) -> &'static str { } } -#[deriving(Clone, Eq, Ord, TotalEq, TotalOrd)] +#[deriving(Clone, PartialEq, PartialOrd, TotalEq, TotalOrd)] pub enum Level { Allow, Warn, Deny, Forbid } -#[deriving(Clone, Eq, Ord, TotalEq, TotalOrd)] +#[deriving(Clone, PartialEq, PartialOrd, TotalEq, TotalOrd)] pub struct LintSpec { pub default: Level, pub lint: Lint, @@ -150,7 +150,7 @@ pub struct LintSpec { pub type LintDict = HashMap<&'static str, LintSpec>; // this is public for the lints that run in trans -#[deriving(Eq)] +#[deriving(PartialEq)] pub enum LintSource { Node(Span), Default, @@ -836,7 +836,7 @@ fn check_type_limits(cx: &Context, e: &ast::Expr) { _ => () }; - fn is_valid<T:cmp::Ord>(binop: ast::BinOp, v: T, + fn is_valid<T:cmp::PartialOrd>(binop: ast::BinOp, v: T, min: T, max: T) -> bool { match binop { ast::BiLt => v > min && v <= max, diff --git a/src/librustc/middle/liveness.rs b/src/librustc/middle/liveness.rs index e0d411f9f97..ce02243403f 100644 --- a/src/librustc/middle/liveness.rs +++ b/src/librustc/middle/liveness.rs @@ -123,9 +123,9 @@ use syntax::print::pprust::{expr_to_str, block_to_str}; use syntax::{visit, ast_util}; use syntax::visit::{Visitor, FnKind}; -#[deriving(Eq)] +#[deriving(PartialEq)] struct Variable(uint); -#[deriving(Eq)] +#[deriving(PartialEq)] struct LiveNode(uint); impl Variable { @@ -142,7 +142,7 @@ impl Clone for LiveNode { } } -#[deriving(Eq)] +#[deriving(PartialEq)] enum LiveNodeKind { FreeVarNode(Span), ExprNode(Span), diff --git a/src/librustc/middle/mem_categorization.rs b/src/librustc/middle/mem_categorization.rs index 1fad7b1e60c..c8cad58a191 100644 --- a/src/librustc/middle/mem_categorization.rs +++ b/src/librustc/middle/mem_categorization.rs @@ -76,7 +76,7 @@ use syntax::parse::token; use std::cell::RefCell; use std::rc::Rc; -#[deriving(Clone, Eq)] +#[deriving(Clone, PartialEq)] pub enum categorization { cat_rvalue(ty::Region), // temporary val, argument is its scope cat_static_item, @@ -92,14 +92,14 @@ pub enum categorization { // (*1) downcast is only required if the enum has more than one variant } -#[deriving(Clone, Eq)] +#[deriving(Clone, PartialEq)] pub struct CopiedUpvar { pub upvar_id: ast::NodeId, pub onceness: ast::Onceness, } // different kinds of pointers: -#[deriving(Clone, Eq, TotalEq, Hash)] +#[deriving(Clone, PartialEq, TotalEq, Hash)] pub enum PointerKind { OwnedPtr, GcPtr, @@ -109,26 +109,26 @@ pub enum PointerKind { // We use the term "interior" to mean "something reachable from the // base without a pointer dereference", e.g. a field -#[deriving(Clone, Eq, TotalEq, Hash)] +#[deriving(Clone, PartialEq, TotalEq, Hash)] pub enum InteriorKind { InteriorField(FieldName), InteriorElement(ElementKind), } -#[deriving(Clone, Eq, TotalEq, Hash)] +#[deriving(Clone, PartialEq, TotalEq, Hash)] pub enum FieldName { NamedField(ast::Name), PositionalField(uint) } -#[deriving(Clone, Eq, TotalEq, Hash)] +#[deriving(Clone, PartialEq, TotalEq, Hash)] pub enum ElementKind { VecElement, StrElement, OtherElement, } -#[deriving(Clone, Eq, TotalEq, Hash, Show)] +#[deriving(Clone, PartialEq, TotalEq, Hash, Show)] pub enum MutabilityCategory { McImmutable, // Immutable. McDeclared, // Directly declared as mutable. @@ -149,7 +149,7 @@ pub enum MutabilityCategory { // dereference, but its type is the type *before* the dereference // (`@T`). So use `cmt.type` to find the type of the value in a consistent // fashion. For more details, see the method `cat_pattern` -#[deriving(Clone, Eq)] +#[deriving(Clone, PartialEq)] pub struct cmt_ { pub id: ast::NodeId, // id of expr/pat producing this value pub span: Span, // span of same expr/pat diff --git a/src/librustc/middle/resolve.rs b/src/librustc/middle/resolve.rs index 077f61a34c6..4db791ddf7b 100644 --- a/src/librustc/middle/resolve.rs +++ b/src/librustc/middle/resolve.rs @@ -87,7 +87,7 @@ pub enum PrivateDep { } // How an import is used. -#[deriving(Eq)] +#[deriving(PartialEq)] pub enum ImportUse { Unused, // The import is not used. Used, // The import is used. @@ -102,20 +102,20 @@ impl LastPrivate { } } -#[deriving(Eq)] +#[deriving(PartialEq)] enum PatternBindingMode { RefutableMode, LocalIrrefutableMode, ArgumentIrrefutableMode, } -#[deriving(Eq, TotalEq, Hash)] +#[deriving(PartialEq, TotalEq, Hash)] enum Namespace { TypeNS, ValueNS } -#[deriving(Eq)] +#[deriving(PartialEq)] enum NamespaceError { NoError, ModuleError, @@ -288,7 +288,7 @@ enum ModulePrefixResult { PrefixFound(Rc<Module>, uint) } -#[deriving(Eq)] +#[deriving(PartialEq)] enum NameSearchType { /// We're doing a name search in order to resolve a `use` directive. ImportSearch, @@ -306,7 +306,7 @@ enum BareIdentifierPatternResolution { // Specifies how duplicates should be handled when adding a child item if // another item exists with the same name in some namespace. -#[deriving(Eq)] +#[deriving(PartialEq)] enum DuplicateCheckingMode { ForbidDuplicateModules, ForbidDuplicateTypes, @@ -435,7 +435,7 @@ enum ParentLink { } /// The type of module this is. -#[deriving(Eq)] +#[deriving(PartialEq)] enum ModuleKind { NormalModuleKind, ExternModuleKind, @@ -4900,7 +4900,7 @@ impl<'a> Resolver<'a> { } fn find_fallback_in_self_type(&mut self, name: Name) -> FallbackSuggestion { - #[deriving(Eq)] + #[deriving(PartialEq)] enum FallbackChecks { Everything, OnlyTraitAndStatics diff --git a/src/librustc/middle/trans/_match.rs b/src/librustc/middle/trans/_match.rs index 86ddd5e0e98..ddd41072c8d 100644 --- a/src/librustc/middle/trans/_match.rs +++ b/src/librustc/middle/trans/_match.rs @@ -240,7 +240,7 @@ enum Lit { ConstLit(ast::DefId), // the def ID of the constant } -#[deriving(Eq)] +#[deriving(PartialEq)] pub enum VecLenOpt { vec_len_eq, vec_len_ge(/* length of prefix */uint) @@ -1215,7 +1215,7 @@ fn pick_col(m: &[Match]) -> uint { return best_col; } -#[deriving(Eq)] +#[deriving(PartialEq)] pub enum branch_kind { no_branch, single, switch, compare, compare_vec_len, } // Compiles a comparison between two things. diff --git a/src/librustc/middle/trans/cabi.rs b/src/librustc/middle/trans/cabi.rs index 2c9be587eaa..02671b11866 100644 --- a/src/librustc/middle/trans/cabi.rs +++ b/src/librustc/middle/trans/cabi.rs @@ -18,7 +18,7 @@ use middle::trans::cabi_mips; use middle::trans::type_::Type; use syntax::abi::{X86, X86_64, Arm, Mips}; -#[deriving(Clone, Eq)] +#[deriving(Clone, PartialEq)] pub enum ArgKind { /// Pass the argument directly using the normal converted /// LLVM type or by coercing to another specified type diff --git a/src/librustc/middle/trans/cabi_x86_64.rs b/src/librustc/middle/trans/cabi_x86_64.rs index 0ed87ef8092..9f98cf57c09 100644 --- a/src/librustc/middle/trans/cabi_x86_64.rs +++ b/src/librustc/middle/trans/cabi_x86_64.rs @@ -22,7 +22,7 @@ use middle::trans::type_::Type; use std::cmp; -#[deriving(Clone, Eq)] +#[deriving(Clone, PartialEq)] enum RegClass { NoClass, Int, diff --git a/src/librustc/middle/trans/cleanup.rs b/src/librustc/middle/trans/cleanup.rs index 47d8ecec021..b28db3d378b 100644 --- a/src/librustc/middle/trans/cleanup.rs +++ b/src/librustc/middle/trans/cleanup.rs @@ -55,7 +55,7 @@ pub enum CleanupScopeKind<'a> { LoopScopeKind(ast::NodeId, [&'a Block<'a>, ..EXIT_MAX]) } -#[deriving(Eq)] +#[deriving(PartialEq)] pub enum EarlyExitLabel { UnwindExit, ReturnExit, diff --git a/src/librustc/middle/trans/common.rs b/src/librustc/middle/trans/common.rs index 0530e2a7463..5c24a62d2d5 100644 --- a/src/librustc/middle/trans/common.rs +++ b/src/librustc/middle/trans/common.rs @@ -722,7 +722,7 @@ pub fn expr_ty_adjusted(bcx: &Block, ex: &ast::Expr) -> ty::t { } // Key used to lookup values supplied for type parameters in an expr. -#[deriving(Eq)] +#[deriving(PartialEq)] pub enum ExprOrMethodCall { // Type parameters for a path like `None::<int>` ExprId(ast::NodeId), diff --git a/src/librustc/middle/trans/datum.rs b/src/librustc/middle/trans/datum.rs index af9e614a17e..1ea25665c1c 100644 --- a/src/librustc/middle/trans/datum.rs +++ b/src/librustc/middle/trans/datum.rs @@ -82,7 +82,7 @@ impl Drop for Rvalue { fn drop(&mut self) { } } -#[deriving(Eq, TotalEq, Hash)] +#[deriving(PartialEq, TotalEq, Hash)] pub enum RvalueMode { /// `val` is a pointer to the actual value (and thus has type *T) ByRef, diff --git a/src/librustc/middle/trans/debuginfo.rs b/src/librustc/middle/trans/debuginfo.rs index 43d0d71154c..110dc3a1884 100644 --- a/src/librustc/middle/trans/debuginfo.rs +++ b/src/librustc/middle/trans/debuginfo.rs @@ -2403,7 +2403,7 @@ fn type_metadata(cx: &CrateContext, type_metadata } -#[deriving(Eq)] +#[deriving(PartialEq)] enum DebugLocation { KnownLocation { scope: DIScope, line: uint, col: uint }, UnknownLocation diff --git a/src/librustc/middle/trans/expr.rs b/src/librustc/middle/trans/expr.rs index 1f997c36c42..6241c1222f9 100644 --- a/src/librustc/middle/trans/expr.rs +++ b/src/librustc/middle/trans/expr.rs @@ -79,7 +79,7 @@ use syntax::print::pprust::{expr_to_str}; // These are passed around by the code generating functions to track the // destination of a computation's value. -#[deriving(Eq)] +#[deriving(PartialEq)] pub enum Dest { SaveIn(ValueRef), Ignore, @@ -1497,7 +1497,7 @@ fn float_cast(bcx: &Block, } else { llsrc }; } -#[deriving(Eq)] +#[deriving(PartialEq)] pub enum cast_kind { cast_pointer, cast_integral, diff --git a/src/librustc/middle/trans/monomorphize.rs b/src/librustc/middle/trans/monomorphize.rs index f77cd0ee44d..683fb39c9e9 100644 --- a/src/librustc/middle/trans/monomorphize.rs +++ b/src/librustc/middle/trans/monomorphize.rs @@ -312,14 +312,14 @@ pub fn monomorphic_fn(ccx: &CrateContext, } // Used to identify cached monomorphized functions and vtables -#[deriving(Eq, TotalEq, Hash)] +#[deriving(PartialEq, TotalEq, Hash)] pub struct MonoParamId { pub subst: ty::t, // Do we really need the vtables to be hashed? Isn't the type enough? pub vtables: Vec<MonoId> } -#[deriving(Eq, TotalEq, Hash)] +#[deriving(PartialEq, TotalEq, Hash)] pub struct MonoId { pub def: ast::DefId, pub params: Vec<MonoParamId> diff --git a/src/librustc/middle/trans/type_.rs b/src/librustc/middle/trans/type_.rs index d5a80edfaed..dfe06f9ca4c 100644 --- a/src/librustc/middle/trans/type_.rs +++ b/src/librustc/middle/trans/type_.rs @@ -23,7 +23,7 @@ use std::mem; use libc::{c_uint}; -#[deriving(Clone, Eq, Show)] +#[deriving(Clone, PartialEq, Show)] pub struct Type { rf: TypeRef } diff --git a/src/librustc/middle/ty.rs b/src/librustc/middle/ty.rs index 4dc66427d7f..7d3c4beb674 100644 --- a/src/librustc/middle/ty.rs +++ b/src/librustc/middle/ty.rs @@ -65,7 +65,7 @@ pub static INITIAL_DISCRIMINANT_VALUE: Disr = 0; // Data types -#[deriving(Eq, TotalEq, Hash)] +#[deriving(PartialEq, TotalEq, Hash)] pub struct field { pub ident: ast::Ident, pub mt: mt @@ -121,13 +121,13 @@ impl Method { } } -#[deriving(Clone, Eq, TotalEq, Hash)] +#[deriving(Clone, PartialEq, TotalEq, Hash)] pub struct mt { pub ty: t, pub mutbl: ast::Mutability, } -#[deriving(Clone, Eq, TotalEq, Hash, Encodable, Decodable, Show)] +#[deriving(Clone, PartialEq, TotalEq, Hash, Encodable, Decodable, Show)] pub enum TraitStore { /// Box<Trait> UniqTraitStore, @@ -145,7 +145,7 @@ pub struct field_ty { // Contains information needed to resolve types and (in the future) look up // the types of AST nodes. -#[deriving(Eq, TotalEq, Hash)] +#[deriving(PartialEq, TotalEq, Hash)] pub struct creader_cache_key { pub cnum: CrateNum, pub pos: uint, @@ -158,10 +158,10 @@ pub struct intern_key { sty: *sty, } -// NB: Do not replace this with #[deriving(Eq)]. The automatically-derived +// NB: Do not replace this with #[deriving(PartialEq)]. The automatically-derived // implementation will not recurse through sty and you will get stack // exhaustion. -impl cmp::Eq for intern_key { +impl cmp::PartialEq for intern_key { fn eq(&self, other: &intern_key) -> bool { unsafe { *self.sty == *other.sty @@ -185,14 +185,14 @@ pub enum ast_ty_to_ty_cache_entry { atttce_resolved(t) /* resolved to a type, irrespective of region */ } -#[deriving(Clone, Eq, Decodable, Encodable)] +#[deriving(Clone, PartialEq, Decodable, Encodable)] pub struct ItemVariances { pub self_param: Option<Variance>, pub type_params: OwnedSlice<Variance>, pub region_params: OwnedSlice<Variance> } -#[deriving(Clone, Eq, Decodable, Encodable, Show)] +#[deriving(Clone, PartialEq, Decodable, Encodable, Show)] pub enum Variance { Covariant, // T<A> <: T<B> iff A <: B -- e.g., function return type Invariant, // T<A> <: T<B> iff B == A -- e.g., type of mutable cell @@ -216,7 +216,7 @@ pub struct AutoDerefRef { pub autoref: Option<AutoRef> } -#[deriving(Clone, Decodable, Encodable, Eq, Show)] +#[deriving(Clone, Decodable, Encodable, PartialEq, Show)] pub enum AutoRef { /// Convert from T to &T AutoPtr(Region, ast::Mutability), @@ -387,7 +387,7 @@ pub struct t_box_ { enum t_opaque {} #[allow(raw_pointer_deriving)] -#[deriving(Clone, Eq, TotalEq, Hash)] +#[deriving(Clone, PartialEq, TotalEq, Hash)] pub struct t { inner: *t_opaque } impl fmt::Show for t { @@ -415,14 +415,14 @@ pub fn type_needs_infer(t: t) -> bool { } pub fn type_id(t: t) -> uint { get(t).id } -#[deriving(Clone, Eq, TotalEq, Hash)] +#[deriving(Clone, PartialEq, TotalEq, Hash)] pub struct BareFnTy { pub fn_style: ast::FnStyle, pub abi: abi::Abi, pub sig: FnSig, } -#[deriving(Clone, Eq, TotalEq, Hash)] +#[deriving(Clone, PartialEq, TotalEq, Hash)] pub struct ClosureTy { pub fn_style: ast::FnStyle, pub onceness: ast::Onceness, @@ -443,7 +443,7 @@ pub struct ClosureTy { * - `output` is the return type. * - `variadic` indicates whether this is a varidic function. (only true for foreign fns) */ -#[deriving(Clone, Eq, TotalEq, Hash)] +#[deriving(Clone, PartialEq, TotalEq, Hash)] pub struct FnSig { pub binder_id: ast::NodeId, pub inputs: Vec<t>, @@ -451,14 +451,14 @@ pub struct FnSig { pub variadic: bool } -#[deriving(Clone, Eq, TotalEq, Hash)] +#[deriving(Clone, PartialEq, TotalEq, Hash)] pub struct param_ty { pub idx: uint, pub def_id: DefId } /// Representation of regions: -#[deriving(Clone, Eq, TotalEq, Hash, Encodable, Decodable, Show)] +#[deriving(Clone, PartialEq, TotalEq, Hash, Encodable, Decodable, Show)] pub enum Region { // Region bound in a type or fn declaration which will be // substituted 'early' -- that is, at the same time when type @@ -499,13 +499,13 @@ pub enum Region { * the original var id (that is, the root variable that is referenced * by the upvar) and the id of the closure expression. */ -#[deriving(Clone, Eq, TotalEq, Hash)] +#[deriving(Clone, PartialEq, TotalEq, Hash)] pub struct UpvarId { pub var_id: ast::NodeId, pub closure_expr_id: ast::NodeId, } -#[deriving(Clone, Eq, TotalEq, Hash, Show)] +#[deriving(Clone, PartialEq, TotalEq, Hash, Show)] pub enum BorrowKind { /// Data must be immutable and is aliasable. ImmBorrow, @@ -600,7 +600,7 @@ pub enum BorrowKind { * the closure, so sometimes it is necessary for them to be larger * than the closure lifetime itself. */ -#[deriving(Eq, Clone)] +#[deriving(PartialEq, Clone)] pub struct UpvarBorrow { pub kind: BorrowKind, pub region: ty::Region, @@ -618,13 +618,13 @@ impl Region { } } -#[deriving(Clone, Eq, Ord, TotalEq, TotalOrd, Hash, Encodable, Decodable, Show)] +#[deriving(Clone, PartialEq, PartialOrd, TotalEq, TotalOrd, Hash, Encodable, Decodable, Show)] pub struct FreeRegion { pub scope_id: NodeId, pub bound_region: BoundRegion } -#[deriving(Clone, Eq, Ord, TotalEq, TotalOrd, Hash, Encodable, Decodable, Show)] +#[deriving(Clone, PartialEq, PartialOrd, TotalEq, TotalOrd, Hash, Encodable, Decodable, Show)] pub enum BoundRegion { /// An anonymous region parameter for a given fn (&T) BrAnon(uint), @@ -643,7 +643,7 @@ pub enum BoundRegion { * Represents the values to use when substituting lifetime parameters. * If the value is `ErasedRegions`, then this subst is occurring during * trans, and all region parameters will be replaced with `ty::ReStatic`. */ -#[deriving(Clone, Eq, TotalEq, Hash)] +#[deriving(Clone, PartialEq, TotalEq, Hash)] pub enum RegionSubsts { ErasedRegions, NonerasedRegions(OwnedSlice<ty::Region>) @@ -666,7 +666,7 @@ pub enum RegionSubsts { * - `self_ty` is the type to which `self` should be remapped, if any. The * `self` type is rather funny in that it can only appear on traits and is * always substituted away to the implementing type for a trait. */ -#[deriving(Clone, Eq, TotalEq, Hash)] +#[deriving(Clone, PartialEq, TotalEq, Hash)] pub struct substs { pub self_ty: Option<ty::t>, pub tps: Vec<t>, @@ -722,7 +722,7 @@ mod primitives { // NB: If you change this, you'll probably want to change the corresponding // AST structure in libsyntax/ast.rs as well. -#[deriving(Clone, Eq, TotalEq, Hash)] +#[deriving(Clone, PartialEq, TotalEq, Hash)] pub enum sty { ty_nil, ty_bot, @@ -754,7 +754,7 @@ pub enum sty { // on non-useful type error messages) } -#[deriving(Clone, Eq, TotalEq, Hash)] +#[deriving(Clone, PartialEq, TotalEq, Hash)] pub struct TyTrait { pub def_id: DefId, pub substs: substs, @@ -762,13 +762,13 @@ pub struct TyTrait { pub bounds: BuiltinBounds } -#[deriving(Eq, TotalEq, Hash)] +#[deriving(PartialEq, TotalEq, Hash)] pub struct TraitRef { pub def_id: DefId, pub substs: substs } -#[deriving(Clone, Eq)] +#[deriving(Clone, PartialEq)] pub enum IntVarValue { IntType(ast::IntTy), UintType(ast::UintTy), @@ -822,7 +822,7 @@ pub enum type_err { terr_variadic_mismatch(expected_found<bool>) } -#[deriving(Eq, TotalEq, Hash)] +#[deriving(PartialEq, TotalEq, Hash)] pub struct ParamBounds { pub builtin_bounds: BuiltinBounds, pub trait_bounds: Vec<Rc<TraitRef>> @@ -830,7 +830,7 @@ pub struct ParamBounds { pub type BuiltinBounds = EnumSet<BuiltinBound>; -#[deriving(Clone, Encodable, Eq, TotalEq, Decodable, Hash, Show)] +#[deriving(Clone, Encodable, PartialEq, TotalEq, Decodable, Hash, Show)] #[repr(uint)] pub enum BuiltinBound { BoundStatic, @@ -862,21 +862,21 @@ impl CLike for BuiltinBound { } } -#[deriving(Clone, Eq, TotalEq, Hash)] +#[deriving(Clone, PartialEq, TotalEq, Hash)] pub struct TyVid(pub uint); -#[deriving(Clone, Eq, TotalEq, Hash)] +#[deriving(Clone, PartialEq, TotalEq, Hash)] pub struct IntVid(pub uint); -#[deriving(Clone, Eq, TotalEq, Hash)] +#[deriving(Clone, PartialEq, TotalEq, Hash)] pub struct FloatVid(pub uint); -#[deriving(Clone, Eq, TotalEq, Encodable, Decodable, Hash)] +#[deriving(Clone, PartialEq, TotalEq, Encodable, Decodable, Hash)] pub struct RegionVid { pub id: uint } -#[deriving(Clone, Eq, TotalEq, Hash)] +#[deriving(Clone, PartialEq, TotalEq, Hash)] pub enum InferTy { TyVar(TyVid), IntVar(IntVid), @@ -889,7 +889,7 @@ pub enum InferRegion { ReSkolemized(uint, BoundRegion) } -impl cmp::Eq for InferRegion { +impl cmp::PartialEq for InferRegion { fn eq(&self, other: &InferRegion) -> bool { match ((*self), *other) { (ReVar(rva), ReVar(rvb)) => { @@ -2402,7 +2402,7 @@ pub fn is_instantiable(cx: &ctxt, r_ty: t) -> bool { /// distinguish between types that are recursive with themselves and types that /// contain a different recursive type. These cases can therefore be treated /// differently when reporting errors. -#[deriving(Eq)] +#[deriving(PartialEq)] pub enum Representability { Representable, SelfRecursive, diff --git a/src/librustc/middle/typeck/check/_match.rs b/src/librustc/middle/typeck/check/_match.rs index 565b951df25..072b4ea7fe1 100644 --- a/src/librustc/middle/typeck/check/_match.rs +++ b/src/librustc/middle/typeck/check/_match.rs @@ -758,7 +758,7 @@ pub fn check_pointer_pat(pcx: &pat_ctxt, } } -#[deriving(Eq)] +#[deriving(PartialEq)] pub enum PointerKind { Send, Borrowed, diff --git a/src/librustc/middle/typeck/check/method.rs b/src/librustc/middle/typeck/check/method.rs index 735bec4f4db..8cea03c59e7 100644 --- a/src/librustc/middle/typeck/check/method.rs +++ b/src/librustc/middle/typeck/check/method.rs @@ -106,19 +106,19 @@ use syntax::codemap::Span; use syntax::parse::token; use syntax::owned_slice::OwnedSlice; -#[deriving(Eq)] +#[deriving(PartialEq)] pub enum CheckTraitsFlag { CheckTraitsOnly, CheckTraitsAndInherentMethods, } -#[deriving(Eq)] +#[deriving(PartialEq)] pub enum AutoderefReceiverFlag { AutoderefReceiver, DontAutoderefReceiver, } -#[deriving(Eq)] +#[deriving(PartialEq)] pub enum StaticMethodsFlag { ReportStaticMethods, IgnoreStaticMethods, diff --git a/src/librustc/middle/typeck/check/mod.rs b/src/librustc/middle/typeck/check/mod.rs index 1987f4b0751..70d8deaf03c 100644 --- a/src/librustc/middle/typeck/check/mod.rs +++ b/src/librustc/middle/typeck/check/mod.rs @@ -213,7 +213,7 @@ impl FnStyleState { /// Whether `check_binop` is part of an assignment or not. /// Used to know wether we allow user overloads and to print /// better messages on error. -#[deriving(Eq)] +#[deriving(PartialEq)] enum IsBinopAssignment{ SimpleBinop, BinopAssignment, diff --git a/src/librustc/middle/typeck/infer/lattice.rs b/src/librustc/middle/typeck/infer/lattice.rs index 41a59dae740..6737a638dd8 100644 --- a/src/librustc/middle/typeck/infer/lattice.rs +++ b/src/librustc/middle/typeck/infer/lattice.rs @@ -72,19 +72,19 @@ impl LatticeValue for ty::t { pub trait CombineFieldsLatticeMethods { fn var_sub_var<T:Clone + InferStr + LatticeValue, - V:Clone + Eq + ToStr + Vid + UnifyVid<Bounds<T>>>(&self, + V:Clone + PartialEq + ToStr + Vid + UnifyVid<Bounds<T>>>(&self, a_id: V, b_id: V) -> ures; /// make variable a subtype of T fn var_sub_t<T:Clone + InferStr + LatticeValue, - V:Clone + Eq + ToStr + Vid + UnifyVid<Bounds<T>>>( + V:Clone + PartialEq + ToStr + Vid + UnifyVid<Bounds<T>>>( &self, a_id: V, b: T) -> ures; fn t_sub_var<T:Clone + InferStr + LatticeValue, - V:Clone + Eq + ToStr + Vid + UnifyVid<Bounds<T>>>( + V:Clone + PartialEq + ToStr + Vid + UnifyVid<Bounds<T>>>( &self, a: T, b_id: V) @@ -96,7 +96,7 @@ pub trait CombineFieldsLatticeMethods { lattice_op: LatticeOp<T>) -> cres<Bound<T>>; fn set_var_to_merged_bounds<T:Clone + InferStr + LatticeValue, - V:Clone+Eq+ToStr+Vid+UnifyVid<Bounds<T>>>( + V:Clone+PartialEq+ToStr+Vid+UnifyVid<Bounds<T>>>( &self, v_id: V, a: &Bounds<T>, @@ -112,7 +112,7 @@ pub trait CombineFieldsLatticeMethods { impl<'f> CombineFieldsLatticeMethods for CombineFields<'f> { fn var_sub_var<T:Clone + InferStr + LatticeValue, - V:Clone + Eq + ToStr + Vid + UnifyVid<Bounds<T>>>( + V:Clone + PartialEq + ToStr + Vid + UnifyVid<Bounds<T>>>( &self, a_id: V, b_id: V) @@ -165,7 +165,7 @@ impl<'f> CombineFieldsLatticeMethods for CombineFields<'f> { /// make variable a subtype of T fn var_sub_t<T:Clone + InferStr + LatticeValue, - V:Clone + Eq + ToStr + Vid + UnifyVid<Bounds<T>>>( + V:Clone + PartialEq + ToStr + Vid + UnifyVid<Bounds<T>>>( &self, a_id: V, b: T) @@ -189,7 +189,7 @@ impl<'f> CombineFieldsLatticeMethods for CombineFields<'f> { } fn t_sub_var<T:Clone + InferStr + LatticeValue, - V:Clone + Eq + ToStr + Vid + UnifyVid<Bounds<T>>>( + V:Clone + PartialEq + ToStr + Vid + UnifyVid<Bounds<T>>>( &self, a: T, b_id: V) @@ -238,7 +238,7 @@ impl<'f> CombineFieldsLatticeMethods for CombineFields<'f> { } fn set_var_to_merged_bounds<T:Clone + InferStr + LatticeValue, - V:Clone+Eq+ToStr+Vid+UnifyVid<Bounds<T>>>( + V:Clone+PartialEq+ToStr+Vid+UnifyVid<Bounds<T>>>( &self, v_id: V, a: &Bounds<T>, @@ -432,7 +432,7 @@ pub enum LatticeVarResult<V,T> { * return. */ pub fn lattice_vars<L:LatticeDir + Combine, T:Clone + InferStr + LatticeValue, - V:Clone + Eq + ToStr + Vid + UnifyVid<Bounds<T>>>( + V:Clone + PartialEq + ToStr + Vid + UnifyVid<Bounds<T>>>( this: &L, // defines whether we want LUB or GLB a_vid: V, // first variable b_vid: V, // second variable @@ -478,7 +478,7 @@ pub fn lattice_vars<L:LatticeDir + Combine, pub fn lattice_var_and_t<L:LatticeDir + Combine, T:Clone + InferStr + LatticeValue, - V:Clone + Eq + ToStr + Vid + UnifyVid<Bounds<T>>>( + V:Clone + PartialEq + ToStr + Vid + UnifyVid<Bounds<T>>>( this: &L, a_id: V, b: &T, diff --git a/src/librustc/middle/typeck/infer/mod.rs b/src/librustc/middle/typeck/infer/mod.rs index d560b1c9a99..fa52ef5dab6 100644 --- a/src/librustc/middle/typeck/infer/mod.rs +++ b/src/librustc/middle/typeck/infer/mod.rs @@ -456,7 +456,7 @@ trait CresCompare<T> { fn compare(&self, t: T, f: || -> ty::type_err) -> cres<T>; } -impl<T:Clone + Eq> CresCompare<T> for cres<T> { +impl<T:Clone + PartialEq> CresCompare<T> for cres<T> { fn compare(&self, t: T, f: || -> ty::type_err) -> cres<T> { (*self).clone().and_then(|s| { if s == t { diff --git a/src/librustc/middle/typeck/infer/region_inference/mod.rs b/src/librustc/middle/typeck/infer/region_inference/mod.rs index c964530a5f9..8ec4b52ffd1 100644 --- a/src/librustc/middle/typeck/infer/region_inference/mod.rs +++ b/src/librustc/middle/typeck/infer/region_inference/mod.rs @@ -31,7 +31,7 @@ use syntax::ast; mod doc; -#[deriving(Eq, TotalEq, Hash)] +#[deriving(PartialEq, TotalEq, Hash)] pub enum Constraint { ConstrainVarSubVar(RegionVid, RegionVid), ConstrainRegSubVar(Region, RegionVid), @@ -39,7 +39,7 @@ pub enum Constraint { ConstrainRegSubReg(Region, Region), } -#[deriving(Eq, TotalEq, Hash)] +#[deriving(PartialEq, TotalEq, Hash)] pub struct TwoRegions { a: Region, b: Region, @@ -759,7 +759,7 @@ impl<'a> RegionVarBindings<'a> { // ______________________________________________________________________ -#[deriving(Eq, Show)] +#[deriving(PartialEq, Show)] enum Classification { Expanding, Contracting } pub enum VarValue { NoValue, Value(Region), ErrorValue } diff --git a/src/librustc/middle/typeck/infer/unify.rs b/src/librustc/middle/typeck/infer/unify.rs index 867e52056a7..653624bf8ee 100644 --- a/src/librustc/middle/typeck/infer/unify.rs +++ b/src/librustc/middle/typeck/infer/unify.rs @@ -52,7 +52,7 @@ pub trait UnifyVid<T> { pub trait UnifyInferCtxtMethods { fn get<T:Clone, - V:Clone + Eq + Vid + UnifyVid<T>>( + V:Clone + PartialEq + Vid + UnifyVid<T>>( &self, vid: V) -> Node<V, T>; @@ -71,7 +71,7 @@ pub trait UnifyInferCtxtMethods { impl<'a> UnifyInferCtxtMethods for InferCtxt<'a> { fn get<T:Clone, - V:Clone + Eq + Vid + UnifyVid<T>>( + V:Clone + PartialEq + Vid + UnifyVid<T>>( &self, vid: V) -> Node<V, T> { @@ -86,7 +86,7 @@ impl<'a> UnifyInferCtxtMethods for InferCtxt<'a> { let vb = UnifyVid::appropriate_vals_and_bindings(self); return helper(tcx, &mut *vb.borrow_mut(), vid); - fn helper<T:Clone, V:Clone+Eq+Vid>( + fn helper<T:Clone, V:Clone+PartialEq+Vid>( tcx: &ty::ctxt, vb: &mut ValsAndBindings<V,T>, vid: V) -> Node<V, T> @@ -191,15 +191,15 @@ pub fn mk_err<T:SimplyUnifiable>(a_is_expected: bool, } pub trait InferCtxtMethods { - fn simple_vars<T:Clone + Eq + InferStr + SimplyUnifiable, - V:Clone + Eq + Vid + ToStr + UnifyVid<Option<T>>>( + fn simple_vars<T:Clone + PartialEq + InferStr + SimplyUnifiable, + V:Clone + PartialEq + Vid + ToStr + UnifyVid<Option<T>>>( &self, a_is_expected: bool, a_id: V, b_id: V) -> ures; - fn simple_var_t<T:Clone + Eq + InferStr + SimplyUnifiable, - V:Clone + Eq + Vid + ToStr + UnifyVid<Option<T>>>( + fn simple_var_t<T:Clone + PartialEq + InferStr + SimplyUnifiable, + V:Clone + PartialEq + Vid + ToStr + UnifyVid<Option<T>>>( &self, a_is_expected: bool, a_id: V, @@ -208,8 +208,8 @@ pub trait InferCtxtMethods { } impl<'a> InferCtxtMethods for InferCtxt<'a> { - fn simple_vars<T:Clone + Eq + InferStr + SimplyUnifiable, - V:Clone + Eq + Vid + ToStr + UnifyVid<Option<T>>>( + fn simple_vars<T:Clone + PartialEq + InferStr + SimplyUnifiable, + V:Clone + PartialEq + Vid + ToStr + UnifyVid<Option<T>>>( &self, a_is_expected: bool, a_id: V, @@ -248,8 +248,8 @@ impl<'a> InferCtxtMethods for InferCtxt<'a> { return uok(); } - fn simple_var_t<T:Clone + Eq + InferStr + SimplyUnifiable, - V:Clone + Eq + Vid + ToStr + UnifyVid<Option<T>>>( + fn simple_var_t<T:Clone + PartialEq + InferStr + SimplyUnifiable, + V:Clone + PartialEq + Vid + ToStr + UnifyVid<Option<T>>>( &self, a_is_expected: bool, a_id: V, diff --git a/src/librustc/middle/typeck/mod.rs b/src/librustc/middle/typeck/mod.rs index bfe09fdd2b2..156479dc7a3 100644 --- a/src/librustc/middle/typeck/mod.rs +++ b/src/librustc/middle/typeck/mod.rs @@ -84,7 +84,7 @@ pub mod collect; pub mod coherence; pub mod variance; -#[deriving(Clone, Encodable, Decodable, Eq, Ord)] +#[deriving(Clone, Encodable, Decodable, PartialEq, PartialOrd)] pub enum param_index { param_numbered(uint), param_self @@ -147,7 +147,7 @@ pub struct MethodCallee { pub substs: ty::substs } -#[deriving(Clone, Eq, TotalEq, Hash, Show)] +#[deriving(Clone, PartialEq, TotalEq, Hash, Show)] pub struct MethodCall { pub expr_id: ast::NodeId, pub autoderef: u32 |
