11use std:: fmt;
22use string_cache:: DefaultAtom as Atom ;
33
4- #[ derive( Copy , Clone , PartialEq , Eq , Debug , Hash ) ]
4+ #[ derive( Copy , Clone , PartialEq , Eq , Debug ) ]
55pub struct Span {
66 pub lo : usize ,
77 pub hi : usize ,
@@ -98,7 +98,7 @@ pub struct AdtRepr {
9898 pub int : Option < Ty > ,
9999}
100100
101- #[ derive( Clone , PartialEq , Eq , Debug , Hash ) ]
101+ #[ derive( Clone , PartialEq , Eq , Debug ) ]
102102pub struct FnSig {
103103 pub abi : FnAbi ,
104104 pub safety : Safety ,
@@ -126,7 +126,7 @@ pub struct ClosureDefn {
126126 pub upvars : Vec < Ty > ,
127127}
128128
129- #[ derive( Clone , Eq , PartialEq , Debug , Hash ) ]
129+ #[ derive( Clone , Eq , PartialEq , Debug ) ]
130130pub struct FnAbi ( pub Atom ) ;
131131
132132impl Default for FnAbi {
@@ -189,7 +189,7 @@ pub struct OpaqueTyDefn {
189189 pub where_clauses : Vec < QuantifiedWhereClause > ,
190190}
191191
192- #[ derive( Clone , PartialEq , Eq , Debug , Hash ) ]
192+ #[ derive( Clone , PartialEq , Eq , Debug ) ]
193193pub enum VariableKind {
194194 Ty ( Identifier ) ,
195195 IntegerTy ( Identifier ) ,
@@ -198,42 +198,42 @@ pub enum VariableKind {
198198 Const ( Identifier ) ,
199199}
200200
201- #[ derive( Clone , PartialEq , Eq , Debug , Hash ) ]
201+ #[ derive( Clone , PartialEq , Eq , Debug ) ]
202202pub enum GenericArg {
203203 Ty ( Ty ) ,
204204 Lifetime ( Lifetime ) ,
205205 Id ( Identifier ) ,
206206 Const ( Const ) ,
207207}
208208
209- #[ derive( Clone , PartialEq , Eq , Debug , Hash ) ]
209+ #[ derive( Clone , PartialEq , Eq , Debug ) ]
210210pub enum Const {
211211 Id ( Identifier ) ,
212212 Value ( u32 ) ,
213213}
214214
215- #[ derive( Clone , PartialEq , Eq , Debug , Hash ) ]
215+ #[ derive( Clone , PartialEq , Eq , Debug ) ]
216216/// An inline bound, e.g. `: Foo<K>` in `impl<K, T: Foo<K>> SomeType<T>`.
217217pub enum InlineBound {
218218 TraitBound ( TraitBound ) ,
219219 AliasEqBound ( AliasEqBound ) ,
220220}
221221
222- #[ derive( Clone , PartialEq , Eq , Debug , Hash ) ]
222+ #[ derive( Clone , PartialEq , Eq , Debug ) ]
223223pub struct QuantifiedInlineBound {
224224 pub variable_kinds : Vec < VariableKind > ,
225225 pub bound : InlineBound ,
226226}
227227
228- #[ derive( Clone , PartialEq , Eq , Debug , Hash ) ]
228+ #[ derive( Clone , PartialEq , Eq , Debug ) ]
229229/// Represents a trait bound on e.g. a type or type parameter.
230230/// Does not know anything about what it's binding.
231231pub struct TraitBound {
232232 pub trait_name : Identifier ,
233233 pub args_no_self : Vec < GenericArg > ,
234234}
235235
236- #[ derive( Clone , PartialEq , Eq , Debug , Hash ) ]
236+ #[ derive( Clone , PartialEq , Eq , Debug ) ]
237237/// Represents an alias equality bound on e.g. a type or type parameter.
238238/// Does not know anything about what it's binding.
239239pub struct AliasEqBound {
@@ -284,7 +284,7 @@ pub struct AssocTyValue {
284284 pub default : bool ,
285285}
286286
287- #[ derive( Clone , PartialEq , Eq , Debug , Hash ) ]
287+ #[ derive( Clone , PartialEq , Eq , Debug ) ]
288288pub enum Ty {
289289 Id {
290290 name : Identifier ,
@@ -331,7 +331,7 @@ pub enum Ty {
331331 Never ,
332332}
333333
334- #[ derive( Copy , Clone , PartialEq , Eq , Debug , Hash ) ]
334+ #[ derive( Copy , Clone , PartialEq , Eq , Debug ) ]
335335pub enum IntTy {
336336 Isize ,
337337 I8 ,
@@ -341,7 +341,7 @@ pub enum IntTy {
341341 I128 ,
342342}
343343
344- #[ derive( Copy , Clone , PartialEq , Eq , Debug , Hash ) ]
344+ #[ derive( Copy , Clone , PartialEq , Eq , Debug ) ]
345345pub enum UintTy {
346346 Usize ,
347347 U8 ,
@@ -351,13 +351,13 @@ pub enum UintTy {
351351 U128 ,
352352}
353353
354- #[ derive( Copy , Clone , PartialEq , Eq , Debug , Hash ) ]
354+ #[ derive( Copy , Clone , PartialEq , Eq , Debug ) ]
355355pub enum FloatTy {
356356 F32 ,
357357 F64 ,
358358}
359359
360- #[ derive( Copy , Clone , PartialEq , Eq , Debug , Hash ) ]
360+ #[ derive( Copy , Clone , PartialEq , Eq , Debug ) ]
361361pub enum ScalarType {
362362 Bool ,
363363 Char ,
@@ -366,13 +366,13 @@ pub enum ScalarType {
366366 Float ( FloatTy ) ,
367367}
368368
369- #[ derive( Copy , Clone , PartialEq , Eq , Debug , Hash ) ]
369+ #[ derive( Copy , Clone , PartialEq , Eq , Debug ) ]
370370pub enum Mutability {
371371 Mut ,
372372 Not ,
373373}
374374
375- #[ derive( Copy , Clone , PartialEq , Eq , Debug , Hash ) ]
375+ #[ derive( Copy , Clone , PartialEq , Eq , Debug ) ]
376376pub enum Safety {
377377 Safe ,
378378 Unsafe ,
@@ -384,22 +384,22 @@ impl Default for Safety {
384384 }
385385}
386386
387- #[ derive( Clone , PartialEq , Eq , Debug , Hash ) ]
387+ #[ derive( Clone , PartialEq , Eq , Debug ) ]
388388pub enum Lifetime {
389389 Id { name : Identifier } ,
390390 Static ,
391391 Erased ,
392392 Empty ,
393393}
394394
395- #[ derive( Clone , PartialEq , Eq , Debug , Hash ) ]
395+ #[ derive( Clone , PartialEq , Eq , Debug ) ]
396396pub struct ProjectionTy {
397397 pub trait_ref : TraitRef ,
398398 pub name : Identifier ,
399399 pub args : Vec < GenericArg > ,
400400}
401401
402- #[ derive( Clone , PartialEq , Eq , Debug , Hash ) ]
402+ #[ derive( Clone , PartialEq , Eq , Debug ) ]
403403pub struct TraitRef {
404404 pub trait_name : Identifier ,
405405 pub args : Vec < GenericArg > ,
@@ -424,7 +424,7 @@ impl Polarity {
424424 }
425425}
426426
427- #[ derive( Clone , PartialEq , Eq , Debug , Hash ) ]
427+ #[ derive( Clone , PartialEq , Eq , Debug ) ]
428428pub struct Identifier {
429429 pub str : Atom ,
430430 pub span : Span ,
@@ -436,7 +436,7 @@ impl fmt::Display for Identifier {
436436 }
437437}
438438
439- #[ derive( Clone , PartialEq , Eq , Debug , Hash ) ]
439+ #[ derive( Clone , PartialEq , Eq , Debug ) ]
440440pub enum WhereClause {
441441 Implemented { trait_ref : TraitRef } ,
442442 ProjectionEq { projection : ProjectionTy , ty : Ty } ,
@@ -469,7 +469,7 @@ pub enum LeafGoal {
469469 SubtypeGenericArgs { a : Ty , b : Ty } ,
470470}
471471
472- #[ derive( Clone , PartialEq , Eq , Debug , Hash ) ]
472+ #[ derive( Clone , PartialEq , Eq , Debug ) ]
473473pub struct QuantifiedWhereClause {
474474 pub variable_kinds : Vec < VariableKind > ,
475475 pub where_clause : WhereClause ,
0 commit comments