Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
ac6daed3
R
Rust
项目概览
int
/
Rust
12 个月 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Rust
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
ac6daed3
编写于
10月 20, 2019
作者:
N
Nicholas Nethercote
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove many unnecessary trait derivations.
上级
c3b3a861
变更
49
隐藏空白更改
内联
并排
Showing
49 changed file
with
89 addition
and
103 deletion
+89
-103
src/librustc/dep_graph/graph.rs
src/librustc/dep_graph/graph.rs
+1
-1
src/librustc/hir/map/definitions.rs
src/librustc/hir/map/definitions.rs
+0
-1
src/librustc/hir/mod.rs
src/librustc/hir/mod.rs
+4
-6
src/librustc/hir/ptr.rs
src/librustc/hir/ptr.rs
+1
-1
src/librustc/infer/canonical/mod.rs
src/librustc/infer/canonical/mod.rs
+1
-1
src/librustc/infer/combine.rs
src/librustc/infer/combine.rs
+1
-1
src/librustc/infer/mod.rs
src/librustc/infer/mod.rs
+1
-1
src/librustc/infer/nll_relate/mod.rs
src/librustc/infer/nll_relate/mod.rs
+1
-1
src/librustc/infer/region_constraints/mod.rs
src/librustc/infer/region_constraints/mod.rs
+1
-1
src/librustc/middle/cstore.rs
src/librustc/middle/cstore.rs
+1
-1
src/librustc/middle/mem_categorization.rs
src/librustc/middle/mem_categorization.rs
+4
-4
src/librustc/middle/stability.rs
src/librustc/middle/stability.rs
+1
-1
src/librustc/mir/interpret/value.rs
src/librustc/mir/interpret/value.rs
+2
-2
src/librustc/mir/mod.rs
src/librustc/mir/mod.rs
+10
-10
src/librustc/mir/mono.rs
src/librustc/mir/mono.rs
+3
-3
src/librustc/mir/visit.rs
src/librustc/mir/visit.rs
+1
-1
src/librustc/session/config.rs
src/librustc/session/config.rs
+4
-4
src/librustc/session/search_paths.rs
src/librustc/session/search_paths.rs
+1
-2
src/librustc/traits/query/mod.rs
src/librustc/traits/query/mod.rs
+1
-1
src/librustc/traits/query/type_op/implied_outlives_bounds.rs
src/librustc/traits/query/type_op/implied_outlives_bounds.rs
+1
-1
src/librustc/ty/binding.rs
src/librustc/ty/binding.rs
+1
-1
src/librustc/ty/context.rs
src/librustc/ty/context.rs
+2
-2
src/librustc/ty/error.rs
src/librustc/ty/error.rs
+0
-1
src/librustc/ty/fold.rs
src/librustc/ty/fold.rs
+0
-1
src/librustc/ty/mod.rs
src/librustc/ty/mod.rs
+4
-4
src/librustc/ty/query/plumbing.rs
src/librustc/ty/query/plumbing.rs
+2
-2
src/librustc/ty/sty.rs
src/librustc/ty/sty.rs
+3
-5
src/librustc_codegen_llvm/llvm/ffi.rs
src/librustc_codegen_llvm/llvm/ffi.rs
+1
-2
src/librustc_data_structures/graph/implementation/mod.rs
src/librustc_data_structures/graph/implementation/mod.rs
+2
-2
src/librustc_data_structures/stable_hasher.rs
src/librustc_data_structures/stable_hasher.rs
+2
-2
src/librustc_data_structures/sync.rs
src/librustc_data_structures/sync.rs
+1
-1
src/librustc_data_structures/thin_vec.rs
src/librustc_data_structures/thin_vec.rs
+1
-1
src/librustc_data_structures/tiny_list.rs
src/librustc_data_structures/tiny_list.rs
+2
-2
src/librustc_data_structures/transitive_relation.rs
src/librustc_data_structures/transitive_relation.rs
+3
-3
src/librustc_mir/borrow_check/nll/constraints/mod.rs
src/librustc_mir/borrow_check/nll/constraints/mod.rs
+1
-1
src/librustc_mir/borrow_check/nll/region_infer/values.rs
src/librustc_mir/borrow_check/nll/region_infer/values.rs
+1
-1
src/librustc_mir/borrow_check/nll/universal_regions.rs
src/librustc_mir/borrow_check/nll/universal_regions.rs
+1
-1
src/librustc_mir/interpret/eval_context.rs
src/librustc_mir/interpret/eval_context.rs
+2
-2
src/librustc_mir/interpret/memory.rs
src/librustc_mir/interpret/memory.rs
+1
-1
src/librustc_mir/interpret/operand.rs
src/librustc_mir/interpret/operand.rs
+3
-3
src/librustc_mir/monomorphize/collector.rs
src/librustc_mir/monomorphize/collector.rs
+1
-1
src/librustc_target/spec/mod.rs
src/librustc_target/spec/mod.rs
+2
-4
src/librustdoc/clean/mod.rs
src/librustdoc/clean/mod.rs
+3
-4
src/libsyntax/ast.rs
src/libsyntax/ast.rs
+3
-3
src/libsyntax/attr/builtin.rs
src/libsyntax/attr/builtin.rs
+4
-5
src/libsyntax/ptr.rs
src/libsyntax/ptr.rs
+0
-1
src/libsyntax/source_map.rs
src/libsyntax/source_map.rs
+1
-1
src/libsyntax_expand/mbe.rs
src/libsyntax_expand/mbe.rs
+1
-1
src/libsyntax_pos/lib.rs
src/libsyntax_pos/lib.rs
+1
-1
未找到文件。
src/librustc/dep_graph/graph.rs
浏览文件 @
ac6daed3
...
...
@@ -35,7 +35,7 @@ impl DepNodeIndex {
pub
const
INVALID
:
DepNodeIndex
=
DepNodeIndex
::
MAX
;
}
#[derive(
Copy,
Clone,
Debug,
PartialEq,
Eq,
Hash
)]
#[derive(
PartialEq
)]
pub
enum
DepNodeColor
{
Red
,
Green
(
DepNodeIndex
)
...
...
src/librustc/hir/map/definitions.rs
浏览文件 @
ac6daed3
...
...
@@ -599,7 +599,6 @@ pub fn to_string(&self) -> String {
(
pub
enum
GlobalMetaDataKind
{
$
(
$variant:ident
),
*
})
=>
(
#[derive(Clone,
Copy,
Debug,
Hash,
RustcEncodable,
RustcDecodable)]
pub
enum
GlobalMetaDataKind
{
$
(
$variant
),
*
}
...
...
src/librustc/hir/mod.rs
浏览文件 @
ac6daed3
...
...
@@ -1077,7 +1077,7 @@ pub fn invert(self) -> Self {
}
}
#[derive(Copy,
Clone,
PartialEq,
RustcEncodable,
RustcDecodable,
Debug,
Hash
,
Hash
Stable)]
#[derive(Copy,
Clone,
PartialEq,
RustcEncodable,
RustcDecodable,
Debug,
HashStable)]
pub
enum
BinOpKind
{
/// The `+` operator (addition).
Add
,
...
...
@@ -1211,7 +1211,7 @@ fn into(self) -> ast::BinOpKind {
pub
type
BinOp
=
Spanned
<
BinOpKind
>
;
#[derive(Copy,
Clone,
PartialEq,
RustcEncodable,
RustcDecodable,
Debug,
Hash
,
Hash
Stable)]
#[derive(Copy,
Clone,
PartialEq,
RustcEncodable,
RustcDecodable,
Debug,
HashStable)]
pub
enum
UnOp
{
/// The `*` operator (deferencing).
UnDeref
,
...
...
@@ -1388,8 +1388,7 @@ pub fn generator_kind(&self) -> Option<GeneratorKind> {
}
/// The type of source expression that caused this generator to be created.
#[derive(Clone,
PartialEq,
Eq,
PartialOrd,
Ord,
HashStable,
RustcEncodable,
RustcDecodable,
Hash,
Debug,
Copy)]
#[derive(Clone,
PartialEq,
Eq,
HashStable,
RustcEncodable,
RustcDecodable,
Debug,
Copy)]
pub
enum
GeneratorKind
{
/// An explicit `async` block or the body of an async function.
Async
(
AsyncGeneratorKind
),
...
...
@@ -1412,8 +1411,7 @@ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
///
/// This helps error messages but is also used to drive coercions in
/// type-checking (see #60424).
#[derive(Clone,
PartialEq,
Eq,
PartialOrd,
Ord,
HashStable,
RustcEncodable,
RustcDecodable,
Hash,
Debug,
Copy)]
#[derive(Clone,
PartialEq,
Eq,
HashStable,
RustcEncodable,
RustcDecodable,
Debug,
Copy)]
pub
enum
AsyncGeneratorKind
{
/// An explicit `async` block written by the user.
Block
,
...
...
src/librustc/hir/ptr.rs
浏览文件 @
ac6daed3
...
...
@@ -11,7 +11,7 @@
use
rustc_data_structures
::
stable_hasher
::{
StableHasher
,
HashStable
};
/// An owned smart pointer.
#[derive(
Hash,
PartialEq,
Eq)]
#[derive(PartialEq,
Eq)]
pub
struct
P
<
T
:
?
Sized
>
{
ptr
:
Box
<
T
>
}
...
...
src/librustc/infer/canonical/mod.rs
浏览文件 @
ac6daed3
...
...
@@ -73,7 +73,7 @@ pub struct CanonicalVarValues<'tcx> {
/// various parts of it with canonical variables. This struct stores
/// those replaced bits to remember for when we process the query
/// result.
#[derive(Clone,
Debug
,
PartialEq,
Eq,
Hash,
RustcDecodable,
RustcEncodable
)]
#[derive(Clone,
Debug)]
pub
struct
OriginalQueryValues
<
'tcx
>
{
/// Map from the universes that appear in the query to the
/// universes in the caller context. For the time being, we only
...
...
src/librustc/infer/combine.rs
浏览文件 @
ac6daed3
...
...
@@ -53,7 +53,7 @@ pub struct CombineFields<'infcx, 'tcx> {
pub
obligations
:
PredicateObligations
<
'tcx
>
,
}
#[derive(Copy,
Clone,
Eq,
PartialEq,
Hash,
Debug)]
#[derive(Copy,
Clone,
Debug)]
pub
enum
RelationDir
{
SubtypeOf
,
SupertypeOf
,
EqTo
}
...
...
src/librustc/infer/mod.rs
浏览文件 @
ac6daed3
...
...
@@ -407,7 +407,7 @@ pub enum RegionVariableOrigin {
NLL
(
NLLRegionVariableOrigin
),
}
#[derive(Copy,
Clone,
Debug
,
PartialEq,
Eq,
Hash
)]
#[derive(Copy,
Clone,
Debug)]
pub
enum
NLLRegionVariableOrigin
{
/// During NLL region processing, we create variables for free
/// regions that we encounter in the function signature and
...
...
src/librustc/infer/nll_relate/mod.rs
浏览文件 @
ac6daed3
...
...
@@ -32,7 +32,7 @@
use
rustc_data_structures
::
fx
::
FxHashMap
;
use
std
::
fmt
::
Debug
;
#[derive(
Copy,
Clone,
PartialEq,
Eq,
Hash,
Debug
)]
#[derive(
PartialEq
)]
pub
enum
NormalizationStrategy
{
Lazy
,
Eager
,
...
...
src/librustc/infer/region_constraints/mod.rs
浏览文件 @
ac6daed3
...
...
@@ -116,7 +116,7 @@ pub struct RegionConstraintData<'tcx> {
}
/// Represents a constraint that influences the inference process.
#[derive(Clone,
Copy,
PartialEq,
Eq,
Hash,
Debug,
PartialOrd,
Ord)]
#[derive(Clone,
Copy,
PartialEq,
Eq,
Debug,
PartialOrd,
Ord)]
pub
enum
Constraint
<
'tcx
>
{
/// A region variable is a subregion of another.
VarSubVar
(
RegionVid
,
RegionVid
),
...
...
src/librustc/middle/cstore.rs
浏览文件 @
ac6daed3
...
...
@@ -117,7 +117,7 @@ pub struct NativeLibrary {
pub
wasm_import_module
:
Option
<
Symbol
>
,
}
#[derive(Clone,
Hash,
RustcEncodable,
RustcDecodable,
HashStable)]
#[derive(Clone,
RustcEncodable,
RustcDecodable,
HashStable)]
pub
struct
ForeignModule
{
pub
foreign_items
:
Vec
<
DefId
>
,
pub
def_id
:
DefId
,
...
...
src/librustc/middle/mem_categorization.rs
浏览文件 @
ac6daed3
...
...
@@ -102,7 +102,7 @@ pub struct Upvar {
}
// different kinds of pointers:
#[derive(Clone,
Copy,
Debug,
PartialEq
,
Eq,
Hash
)]
#[derive(Clone,
Copy,
Debug,
PartialEq)]
pub
enum
PointerKind
<
'tcx
>
{
/// `Box<T>`
Unique
,
...
...
@@ -116,7 +116,7 @@ pub enum PointerKind<'tcx> {
// We use the term "interior" to mean "something reachable from the
// base without a pointer dereference", e.g., a field
#[derive(Clone,
Copy,
PartialEq,
Eq,
Hash
)]
#[derive(Clone,
PartialEq
)]
pub
enum
InteriorKind
{
InteriorField
(
FieldIndex
),
InteriorElement
(
InteriorOffsetKind
),
...
...
@@ -139,13 +139,13 @@ fn hash<H: Hasher>(&self, h: &mut H) {
}
}
#[derive(Clone,
Copy,
PartialEq,
Eq,
Hash,
Debug
)]
#[derive(Clone,
PartialEq
)]
pub
enum
InteriorOffsetKind
{
Index
,
// e.g., `array_expr[index_expr]`
Pattern
,
// e.g., `fn foo([_, a, _, _]: [A; 4]) { ... }`
}
#[derive(Clone,
Copy,
PartialEq,
Eq,
Hash,
Debug)]
#[derive(Clone,
Copy,
PartialEq,
Debug)]
pub
enum
MutabilityCategory
{
McImmutable
,
// Immutable.
McDeclared
,
// Directly declared as mutable.
...
...
src/librustc/middle/stability.rs
浏览文件 @
ac6daed3
...
...
@@ -25,7 +25,7 @@
use
std
::
mem
::
replace
;
use
std
::
cmp
::
Ordering
;
#[derive(
RustcEncodable,
RustcDecodable,
PartialEq,
PartialOrd,
Clone,
Copy,
Debug,
Eq,
Hash
)]
#[derive(
PartialEq,
Clone,
Copy,
Debug
)]
pub
enum
StabilityLevel
{
Unstable
,
Stable
,
...
...
src/librustc/mir/interpret/value.rs
浏览文件 @
ac6daed3
...
...
@@ -9,7 +9,7 @@
use
super
::{
InterpResult
,
Pointer
,
PointerArithmetic
,
Allocation
,
AllocId
,
sign_extend
,
truncate
};
/// Represents the result of a raw const operation, pre-validation.
#[derive(C
opy,
Clone,
Debug,
Eq,
PartialEq,
RustcEncodable,
RustcDecodable,
Hash
,
HashStable)]
#[derive(C
lone
,
HashStable)]
pub
struct
RawConst
<
'tcx
>
{
// the value lives here, at offset 0, and that allocation definitely is a `AllocKind::Memory`
// (so you can use `AllocMap::unwrap_memory`).
...
...
@@ -487,7 +487,7 @@ fn from(ptr: Pointer<Tag>) -> Self {
}
}
#[derive(Clone,
Copy,
Eq,
PartialEq,
Ord,
PartialOrd,
Hash,
RustcEncodable,
RustcDecodable)]
#[derive(Clone,
Copy,
Eq,
PartialEq,
RustcEncodable,
RustcDecodable)]
pub
enum
ScalarMaybeUndef
<
Tag
=
(),
Id
=
AllocId
>
{
Scalar
(
Scalar
<
Tag
,
Id
>
),
Undef
,
...
...
src/librustc/mir/mod.rs
浏览文件 @
ac6daed3
...
...
@@ -468,7 +468,7 @@ impl<T: Decodable> rustc_serialize::UseSpecializedDecodable for ClearCrossCrate<
/// Grouped information about the source code origin of a MIR entity.
/// Intended to be inspected by diagnostics and debuginfo.
/// Most passes can work with it as a whole, within a single function.
#[derive(Copy,
Clone,
Debug,
PartialEq,
Eq,
RustcEncodable,
RustcDecodable,
Hash
,
HashStable)]
#[derive(Copy,
Clone,
Debug,
PartialEq,
RustcEncodable,
RustcDecodable
,
HashStable)]
pub
struct
SourceInfo
{
/// The source span for the AST pertaining to this MIR entity.
pub
span
:
Span
,
...
...
@@ -608,7 +608,7 @@ pub enum LocalKind {
ReturnPointer
,
}
#[derive(Clone,
PartialEq,
Eq,
Hash,
Debug,
RustcEncodable,
RustcDecodable)]
#[derive(Clone,
Debug,
RustcEncodable,
RustcDecodable)]
pub
struct
VarBindingForm
<
'tcx
>
{
/// Is variable bound via `x`, `mut x`, `ref x`, or `ref mut x`?
pub
binding_mode
:
ty
::
BindingMode
,
...
...
@@ -630,7 +630,7 @@ pub struct VarBindingForm<'tcx> {
pub
pat_span
:
Span
,
}
#[derive(Clone,
PartialEq,
Eq,
Hash,
Debug,
RustcEncodable,
RustcDecodable)]
#[derive(Clone,
Debug,
RustcEncodable,
RustcDecodable)]
pub
enum
BindingForm
<
'tcx
>
{
/// This is a binding for a non-`self` binding, or a `self` that has an explicit type.
Var
(
VarBindingForm
<
'tcx
>
),
...
...
@@ -641,7 +641,7 @@ pub enum BindingForm<'tcx> {
}
/// Represents what type of implicit self a function has, if any.
#[derive(Clone,
Copy,
PartialEq,
Eq,
Hash,
Debug,
RustcEncodable,
RustcDecodable)]
#[derive(Clone,
Copy,
PartialEq,
Debug,
RustcEncodable,
RustcDecodable)]
pub
enum
ImplicitSelfKind
{
/// Represents a `fn x(self);`.
Imm
,
...
...
@@ -2392,7 +2392,7 @@ fn fmt_tuple(fmt: &mut Formatter<'_>, places: &[Operand<'_>]) -> fmt::Result {
/// this does not necessarily mean that they are "==" in Rust -- in
/// particular one must be wary of `NaN`!
#[derive(C
opy,
Clone,
PartialEq,
Eq,
Hash
,
RustcEncodable,
RustcDecodable,
HashStable)]
#[derive(C
lone,
PartialEq
,
RustcEncodable,
RustcDecodable,
HashStable)]
pub
struct
Constant
<
'tcx
>
{
pub
span
:
Span
,
...
...
@@ -2438,7 +2438,7 @@ pub struct Constant<'tcx> {
/// The first will lead to the constraint `w: &'1 str` (for some
/// inferred region `'1`). The second will lead to the constraint `w:
/// &'static str`.
#[derive(Clone,
Debug,
PartialEq,
Eq,
Hash,
RustcEncodable,
RustcDecodable,
HashStable)]
#[derive(Clone,
Debug,
RustcEncodable,
RustcDecodable,
HashStable)]
pub
struct
UserTypeProjections
{
pub
(
crate
)
contents
:
Vec
<
(
UserTypeProjection
,
Span
)
>
,
}
...
...
@@ -2515,7 +2515,7 @@ pub fn variant(self, adt_def: &'tcx AdtDef, variant_index: VariantIdx, field: Fi
/// * `let (x, _): T = ...` -- here, the `projs` vector would contain
/// `field[0]` (aka `.0`), indicating that the type of `s` is
/// determined by finding the type of the `.0` field from `T`.
#[derive(Clone,
Debug,
PartialEq,
Eq,
Hash,
RustcEncodable,
RustcDecodable,
HashStable)]
#[derive(Clone,
Debug,
RustcEncodable,
RustcDecodable,
HashStable)]
pub
struct
UserTypeProjection
{
pub
base
:
UserTypeAnnotationIndex
,
pub
projs
:
Vec
<
ProjectionKind
>
,
...
...
@@ -2724,7 +2724,7 @@ pub fn dominates(&self, other: Location, dominators: &Dominators<BasicBlock>) ->
}
}
#[derive(Copy,
Clone,
Debug,
PartialEq,
Eq,
Hash
,
RustcEncodable,
RustcDecodable,
HashStable)]
#[derive(Copy,
Clone,
PartialEq
,
RustcEncodable,
RustcDecodable,
HashStable)]
pub
enum
UnsafetyViolationKind
{
General
,
/// Permitted both in `const fn`s and regular `fn`s.
...
...
@@ -2733,7 +2733,7 @@ pub enum UnsafetyViolationKind {
BorrowPacked
(
hir
::
HirId
),
}
#[derive(Copy,
Clone,
Debug,
PartialEq,
Eq,
Hash
,
RustcEncodable,
RustcDecodable,
HashStable)]
#[derive(Copy,
Clone,
PartialEq
,
RustcEncodable,
RustcDecodable,
HashStable)]
pub
struct
UnsafetyViolation
{
pub
source_info
:
SourceInfo
,
pub
description
:
InternedString
,
...
...
@@ -2741,7 +2741,7 @@ pub struct UnsafetyViolation {
pub
kind
:
UnsafetyViolationKind
,
}
#[derive(Clone,
Debug,
PartialEq,
Eq,
Hash,
RustcEncodable,
RustcDecodable,
HashStable)]
#[derive(Clone,
RustcEncodable,
RustcDecodable,
HashStable)]
pub
struct
UnsafetyCheckResult
{
/// Violations that are propagated *upwards* from this function.
pub
violations
:
Lrc
<
[
UnsafetyViolation
]
>
,
...
...
src/librustc/mir/mono.rs
浏览文件 @
ac6daed3
...
...
@@ -15,7 +15,7 @@
use
std
::
hash
::
Hash
;
/// Describes how a monomorphization will be instantiated in object files.
#[derive(PartialEq
,
Eq,
Clone,
Copy,
Debug,
Hash
)]
#[derive(PartialEq)]
pub
enum
InstantiationMode
{
/// There will be exactly one instance of the given MonoItem. It will have
/// external linkage so that it can be linked to from other codegen units.
...
...
@@ -251,7 +251,7 @@ pub struct CodegenUnit<'tcx> {
size_estimate
:
Option
<
usize
>
,
}
#[derive(Copy,
Clone,
PartialEq,
Eq,
Hash,
Debug,
RustcEncodable,
RustcDecodable)]
#[derive(Copy,
Clone,
PartialEq,
Debug,
RustcEncodable,
RustcDecodable)]
pub
enum
Linkage
{
External
,
AvailableExternally
,
...
...
@@ -280,7 +280,7 @@ pub enum Linkage {
Common
});
#[derive(Copy,
Clone,
PartialEq,
Eq,
Hash,
Debug)]
#[derive(Copy,
Clone,
PartialEq,
Debug)]
pub
enum
Visibility
{
Default
,
Hidden
,
...
...
src/librustc/mir/visit.rs
浏览文件 @
ac6daed3
...
...
@@ -947,7 +947,7 @@ fn apply(&self, location: Location, visitor: &mut dyn Visitor<'tcx>)
/// Extra information passed to `visit_ty` and friends to give context
/// about where the type etc appears.
#[derive(
Copy,
Clone,
Debug,
PartialEq,
Eq,
Hash
)]
#[derive(
Debug
)]
pub
enum
TyContext
{
LocalDecl
{
/// The index of the local variable we are visiting.
...
...
src/librustc/session/config.rs
浏览文件 @
ac6daed3
...
...
@@ -67,7 +67,7 @@ pub enum OptLevel {
/// This is what the `LtoCli` values get mapped to after resolving defaults and
/// and taking other command line options into account.
#[derive(Clone,
Copy,
PartialEq,
Hash,
Debug
)]
#[derive(Clone,
PartialEq
)]
pub
enum
Lto
{
/// Don't do any LTO whatsoever
No
,
...
...
@@ -301,10 +301,10 @@ pub fn should_codegen(&self) -> bool {
/// Use tree-based collections to cheaply get a deterministic `Hash` implementation.
/// *Do not* switch `BTreeMap` or `BTreeSet` out for an unsorted container type! That
/// would break dependency tracking for command-line arguments.
#[derive(Clone
,
Hash
)]
#[derive(Clone)]
pub
struct
Externs
(
BTreeMap
<
String
,
ExternEntry
>
);
#[derive(Clone,
Hash,
Eq,
PartialEq,
Ord,
PartialOrd,
Debug,
Default)]
#[derive(Clone,
Debug,
Default)]
pub
struct
ExternEntry
{
pub
locations
:
BTreeSet
<
Option
<
String
>>
,
pub
is_private_dep
:
bool
...
...
@@ -464,7 +464,7 @@ pub enum PrintRequest {
NativeStaticLibs
,
}
#[derive(Copy,
Clone
,
Debug,
PartialEq,
Eq,
PartialOrd,
Ord,
Hash
)]
#[derive(Copy,
Clone)]
pub
enum
BorrowckMode
{
Mir
,
Migrate
,
...
...
src/librustc/session/search_paths.rs
浏览文件 @
ac6daed3
use
std
::
path
::{
Path
,
PathBuf
};
use
rustc_macros
::
HashStable
;
use
crate
::
session
::{
early_error
,
config
};
use
crate
::
session
::
filesearch
::
make_target_lib_path
;
...
...
@@ -10,7 +9,7 @@ pub struct SearchPath {
pub
files
:
Vec
<
PathBuf
>
,
}
#[derive(
Eq,
PartialEq,
Clone,
Copy,
Debug,
PartialOrd,
Ord,
Hash
,
HashStable)]
#[derive(
PartialEq,
Clone,
Copy,
Debug
,
HashStable)]
pub
enum
PathKind
{
Native
,
Crate
,
...
...
src/librustc/traits/query/mod.rs
浏览文件 @
ac6daed3
...
...
@@ -40,7 +40,7 @@
pub
type
CanonicalTypeOpNormalizeGoal
<
'tcx
,
T
>
=
Canonical
<
'tcx
,
ty
::
ParamEnvAnd
<
'tcx
,
type_op
::
normalize
::
Normalize
<
T
>>>
;
#[derive(C
opy,
Clone,
Debug,
PartialEq,
Eq,
Hash
)]
#[derive(C
lone,
Debug
)]
pub
struct
NoSolution
;
pub
type
Fallible
<
T
>
=
Result
<
T
,
NoSolution
>
;
...
...
src/librustc/traits/query/type_op/implied_outlives_bounds.rs
浏览文件 @
ac6daed3
...
...
@@ -3,7 +3,7 @@
use
crate
::
traits
::
query
::
Fallible
;
use
crate
::
ty
::{
ParamEnvAnd
,
Ty
,
TyCtxt
};
#[derive(C
opy,
Clone,
Debug,
Hash,
PartialEq,
Eq
)]
#[derive(C
lone,
Debug
)]
pub
struct
ImpliedOutlivesBounds
<
'tcx
>
{
pub
ty
:
Ty
<
'tcx
>
,
}
...
...
src/librustc/ty/binding.rs
浏览文件 @
ac6daed3
...
...
@@ -2,7 +2,7 @@
use
crate
::
hir
::
BindingAnnotation
;
use
crate
::
hir
::
Mutability
;
#[derive(Clone,
PartialEq,
Eq,
RustcEncodable,
RustcDecodable,
Hash
,
Debug,
Copy)]
#[derive(Clone,
PartialEq,
RustcEncodable,
RustcDecodable
,
Debug,
Copy)]
pub
enum
BindingMode
{
BindByReference
(
Mutability
),
BindByValue
(
Mutability
),
...
...
src/librustc/ty/context.rs
浏览文件 @
ac6daed3
...
...
@@ -827,7 +827,7 @@ pub struct UserTypeAnnotationIndex {
pub
type
CanonicalUserTypeAnnotations
<
'tcx
>
=
IndexVec
<
UserTypeAnnotationIndex
,
CanonicalUserTypeAnnotation
<
'tcx
>>
;
#[derive(C
opy,
Clone,
Debug,
PartialEq,
Eq,
Hash
,
RustcEncodable,
RustcDecodable,
HashStable)]
#[derive(C
lone,
Debug
,
RustcEncodable,
RustcDecodable,
HashStable)]
pub
struct
CanonicalUserTypeAnnotation
<
'tcx
>
{
pub
user_ty
:
CanonicalUserType
<
'tcx
>
,
pub
span
:
Span
,
...
...
@@ -899,7 +899,7 @@ pub fn is_identity(&self) -> bool {
/// A user-given type annotation attached to a constant. These arise
/// from constants that are named via paths, like `Foo::<A>::new` and
/// so forth.
#[derive(Copy,
Clone,
Debug,
PartialEq,
Eq,
Hash,
RustcEncodable,
RustcDecodable,
HashStable)]
#[derive(Copy,
Clone,
Debug,
PartialEq,
RustcEncodable,
RustcDecodable,
HashStable)]
pub
enum
UserType
<
'tcx
>
{
Ty
(
Ty
<
'tcx
>
),
...
...
src/librustc/ty/error.rs
浏览文件 @
ac6daed3
...
...
@@ -51,7 +51,6 @@ pub enum TypeError<'tcx> {
IntrinsicCast
,
}
#[derive(Clone,
RustcEncodable,
RustcDecodable,
PartialEq,
Eq,
Hash,
Debug,
Copy)]
pub
enum
UnconstrainedNumeric
{
UnconstrainedFloat
,
UnconstrainedInt
,
...
...
src/librustc/ty/fold.rs
浏览文件 @
ac6daed3
...
...
@@ -718,7 +718,6 @@ pub fn anonymize_late_bound_regions<T>(self, sig: &Binder<T>) -> Binder<T>
// vars. See comment on `shift_vars_through_binders` method in
// `subst.rs` for more details.
#[derive(Copy,
Clone,
PartialEq,
Eq,
Hash,
Debug)]
enum
Direction
{
In
,
Out
,
...
...
src/librustc/ty/mod.rs
浏览文件 @
ac6daed3
...
...
@@ -159,7 +159,7 @@ pub fn id(&self) -> DefId {
/// The "header" of an impl is everything outside the body: a Self type, a trait
/// ref (in the case of a trait impl), and a set of predicates (from the
/// bounds / where-clauses).
#[derive(Clone,
PartialEq,
Eq,
Hash,
Debug)]
#[derive(Clone,
Debug)]
pub
struct
ImplHeader
<
'tcx
>
{
pub
impl_def_id
:
DefId
,
pub
self_ty
:
Ty
<
'tcx
>
,
...
...
@@ -195,7 +195,7 @@ pub struct AssocItem {
pub
method_has_self_argument
:
bool
,
}
#[derive(Copy,
Clone,
PartialEq,
Eq,
Debug,
Hash,
RustcEncodable,
RustcDecodable
,
HashStable)]
#[derive(Copy,
Clone,
PartialEq,
Debug
,
HashStable)]
pub
enum
AssocKind
{
Const
,
Method
,
...
...
@@ -331,7 +331,7 @@ pub fn is_visible_locally(self) -> bool {
}
}
#[derive(Copy,
Clone,
PartialEq,
Eq,
RustcDecodable,
RustcEncodable,
Hash
,
HashStable)]
#[derive(Copy,
Clone,
PartialEq,
RustcDecodable,
RustcEncodable
,
HashStable)]
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
...
...
@@ -752,7 +752,7 @@ pub struct UpvarId {
pub
closure_expr_id
:
LocalDefId
,
}
#[derive(Clone,
PartialEq,
Eq,
Hash,
Debug,
RustcEncodable,
RustcDecodable,
Copy,
HashStable)]
#[derive(Clone,
PartialEq,
Debug,
RustcEncodable,
RustcDecodable,
Copy,
HashStable)]
pub
enum
BorrowKind
{
/// Data must be immutable and is aliasable.
ImmBorrow
,
...
...
src/librustc/ty/query/plumbing.rs
浏览文件 @
ac6daed3
...
...
@@ -801,7 +801,7 @@ fn stats<'tcx, Q: QueryConfig<'tcx>>(
}
#[allow(nonstandard_style)]
#[derive(Clone,
Copy
,
Debug,
PartialEq,
Eq,
Hash
)]
#[derive(Clone,
Copy)]
pub
enum
QueryName
{
$
(
$name
),
*
}
...
...
@@ -819,7 +819,7 @@ pub fn as_str(&self) -> &'static str {
}
#[allow(nonstandard_style)]
#[derive(C
opy,
Clone,
Debug,
PartialEq,
Eq,
Hash
)]
#[derive(C
lone,
Debug
)]
pub
enum
Query
<
$tcx
>
{
$
(
$
(
#[
$
attr]
)
*
$name
(
$K
)),
*
}
...
...
src/librustc/ty/sty.rs
浏览文件 @
ac6daed3
...
...
@@ -304,8 +304,7 @@ pub enum TyKind<'tcx> {
/// type parameters is similar, but the role of CK and CS are
/// different. CK represents the "yield type" and CS represents the
/// "return type" of the generator.
#[derive(Copy,
Clone,
PartialEq,
Eq,
PartialOrd,
Ord,
Hash,
Debug,
RustcEncodable,
RustcDecodable,
HashStable)]
#[derive(Copy,
Clone,
Debug)]
pub
struct
ClosureSubsts
<
'tcx
>
{
/// Lifetime and type parameters from the enclosing function,
/// concatenated with the types of the upvars.
...
...
@@ -392,8 +391,7 @@ pub fn sig(&self, def_id: DefId, tcx: TyCtxt<'tcx>) -> ty::PolyFnSig<'tcx> {
}
/// Similar to `ClosureSubsts`; see the above documentation for more.
#[derive(Copy,
Clone,
PartialEq,
Eq,
PartialOrd,
Ord,
Hash,
Debug,
RustcEncodable,
RustcDecodable,
HashStable)]
#[derive(Copy,
Clone,
Debug)]
pub
struct
GeneratorSubsts
<
'tcx
>
{
pub
substs
:
SubstsRef
<
'tcx
>
,
}
...
...
@@ -1035,7 +1033,7 @@ pub fn self_ty(&self) -> Ty<'tcx> {
}
}
#[derive(C
opy,
Clone,
Debug,
PartialEq,
Eq,
Hash,
RustcEncodable,
RustcDecodable,
HashStable
)]
#[derive(C
lone,
Debug
)]
pub
struct
GenSig
<
'tcx
>
{
pub
yield_ty
:
Ty
<
'tcx
>
,
pub
return_ty
:
Ty
<
'tcx
>
,
...
...
src/librustc_codegen_llvm/llvm/ffi.rs
浏览文件 @
ac6daed3
...
...
@@ -50,7 +50,7 @@ pub enum CallConv {
}
/// LLVMRustLinkage
#[derive(
Copy,
Clone,
PartialEq,
Eq,
Hash,
Debug
)]
#[derive(
PartialEq
)]
#[repr(C)]
pub
enum
Linkage
{
ExternalLinkage
=
0
,
...
...
@@ -67,7 +67,6 @@ pub enum Linkage {
}
// LLVMRustVisibility
#[derive(Copy,
Clone,
PartialEq,
Eq,
Hash,
Debug)]
#[repr(C)]
pub
enum
Visibility
{
Default
=
0
,
...
...
src/librustc_data_structures/graph/implementation/mod.rs
浏览文件 @
ac6daed3
...
...
@@ -60,10 +60,10 @@ impl<N> SnapshotVecDelegate for Edge<N> {
fn
reverse
(
_
:
&
mut
Vec
<
Edge
<
N
>>
,
_
:
())
{}
}
#[derive(Copy,
Clone,
PartialEq,
Eq,
Debug,
Hash
)]
#[derive(Copy,
Clone,
PartialEq,
Debug
)]
pub
struct
NodeIndex
(
pub
usize
);
#[derive(Copy,
Clone,
PartialEq,
Eq,
Debug,
Hash
)]
#[derive(Copy,
Clone,
PartialEq,
Debug
)]
pub
struct
EdgeIndex
(
pub
usize
);
pub
const
INVALID_EDGE_INDEX
:
EdgeIndex
=
EdgeIndex
(
usize
::
MAX
);
...
...
src/librustc_data_structures/stable_hasher.rs
浏览文件 @
ac6daed3
...
...
@@ -169,7 +169,7 @@ pub trait HashStable<CTX> {
/// example, for DefId that can be converted to a DefPathHash. This is used for
/// bringing maps into a predictable order before hashing them.
pub
trait
ToStableHashKey
<
HCX
>
{
type
KeyType
:
Ord
+
Clone
+
Sized
+
HashStable
<
HCX
>
;
type
KeyType
:
Ord
+
Sized
+
HashStable
<
HCX
>
;
fn
to_stable_hash_key
(
&
self
,
hcx
:
&
HCX
)
->
Self
::
KeyType
;
}
...
...
@@ -516,7 +516,7 @@ pub fn hash_stable_hashmap<HCX, K, V, R, SK, F>(
where
K
:
Eq
,
V
:
HashStable
<
HCX
>
,
R
:
BuildHasher
,
SK
:
HashStable
<
HCX
>
+
Ord
+
Clone
,
SK
:
HashStable
<
HCX
>
+
Ord
,
F
:
Fn
(
&
K
,
&
HCX
)
->
SK
,
{
let
mut
entries
:
Vec
<
_
>
=
map
.iter
()
...
...
src/librustc_data_structures/sync.rs
浏览文件 @
ac6daed3
...
...
@@ -738,7 +738,7 @@ fn clone(&self) -> Self {
/// A type which only allows its inner value to be used in one thread.
/// It will panic if it is used on multiple threads.
#[derive(
Copy,
Clone,
Hash,
Debug,
Eq,
PartialEq
)]
#[derive(
Debug
)]
pub
struct
OneThread
<
T
>
{
#[cfg(parallel_compiler)]
thread
:
thread
::
ThreadId
,
...
...
src/librustc_data_structures/thin_vec.rs
浏览文件 @
ac6daed3
...
...
@@ -3,7 +3,7 @@
/// A vector type optimized for cases where this size is usually 0 (cf. `SmallVector`).
/// The `Option<Box<..>>` wrapping allows us to represent a zero sized vector with `None`,
/// which uses only a single (null) pointer.
#[derive(Clone,
PartialEq,
Eq,
RustcEncodable,
RustcDecodable,
Hash
,
Debug)]
#[derive(Clone,
RustcEncodable,
RustcDecodable
,
Debug)]
pub
struct
ThinVec
<
T
>
(
Option
<
Box
<
Vec
<
T
>>>
);
impl
<
T
>
ThinVec
<
T
>
{
...
...
src/librustc_data_structures/tiny_list.rs
浏览文件 @
ac6daed3
...
...
@@ -14,7 +14,7 @@
#[cfg(test)]
mod
tests
;
#[derive(Clone
,
Hash,
Debug,
PartialEq
)]
#[derive(Clone)]
pub
struct
TinyList
<
T
:
PartialEq
>
{
head
:
Option
<
Element
<
T
>>
}
...
...
@@ -80,7 +80,7 @@ pub fn len(&self) -> usize {
}
}
#[derive(Clone
,
Hash,
Debug,
PartialEq
)]
#[derive(Clone)]
struct
Element
<
T
:
PartialEq
>
{
data
:
T
,
next
:
Option
<
Box
<
Element
<
T
>>>
,
...
...
src/librustc_data_structures/transitive_relation.rs
浏览文件 @
ac6daed3
...
...
@@ -11,7 +11,7 @@
mod
tests
;
#[derive(Clone,
Debug)]
pub
struct
TransitiveRelation
<
T
:
Clone
+
Debug
+
Eq
+
Hash
>
{
pub
struct
TransitiveRelation
<
T
:
Eq
+
Hash
>
{
// List of elements. This is used to map from a T to a usize.
elements
:
Vec
<
T
>
,
...
...
@@ -35,7 +35,7 @@ pub struct TransitiveRelation<T: Clone + Debug + Eq + Hash> {
}
// HACK(eddyb) manual impl avoids `Default` bound on `T`.
impl
<
T
:
Clone
+
Debug
+
Eq
+
Hash
>
Default
for
TransitiveRelation
<
T
>
{
impl
<
T
:
Eq
+
Hash
>
Default
for
TransitiveRelation
<
T
>
{
fn
default
()
->
Self
{
TransitiveRelation
{
elements
:
Default
::
default
(),
...
...
@@ -46,7 +46,7 @@ fn default() -> Self {
}
}
#[derive(Copy,
Clone,
PartialEq,
Eq,
PartialOrd,
Ord,
Hash,
RustcEncodable,
RustcDecodable,
Debug)]
#[derive(Copy,
Clone,
PartialEq,
Eq,
PartialOrd,
RustcEncodable,
RustcDecodable,
Debug)]
struct
Index
(
usize
);
#[derive(Clone,
PartialEq,
Eq,
RustcEncodable,
RustcDecodable,
Debug)]
...
...
src/librustc_mir/borrow_check/nll/constraints/mod.rs
浏览文件 @
ac6daed3
...
...
@@ -71,7 +71,7 @@ fn index(&self, i: OutlivesConstraintIndex) -> &Self::Output {
}
}
#[derive(Copy,
Clone,
PartialEq,
Eq,
PartialOrd,
Ord
,
Hash
)]
#[derive(Copy,
Clone,
PartialEq,
Eq,
PartialOrd,
Ord)]
pub
struct
OutlivesConstraint
{
// NB. The ordering here is not significant for correctness, but
// it is for convenience. Before we dump the constraints in the
...
...
src/librustc_mir/borrow_check/nll/region_infer/values.rs
浏览文件 @
ac6daed3
...
...
@@ -129,7 +129,7 @@ pub struct PlaceholderIndex { DEBUG_FORMAT = "PlaceholderIndex({})" }
/// An individual element in a region value -- the value of a
/// particular region variable consists of a set of these elements.
#[derive(
Copy,
Clone,
Debug,
PartialEq,
Eq,
Hash
)]
#[derive(
Debug
)]
crate
enum
RegionElement
{
/// A point in the control-flow graph.
Location
(
Location
),
...
...
src/librustc_mir/borrow_check/nll/universal_regions.rs
浏览文件 @
ac6daed3
...
...
@@ -146,7 +146,7 @@ struct UniversalRegionIndices<'tcx> {
indices
:
FxHashMap
<
ty
::
Region
<
'tcx
>
,
RegionVid
>
,
}
#[derive(
Copy,
Clone,
Debug,
PartialEq,
Eq,
Hash
)]
#[derive(
Debug,
PartialEq
)]
pub
enum
RegionClassification
{
/// A **global** region is one that can be named from
/// anywhere. There is only one, `'static`.
...
...
src/librustc_mir/interpret/eval_context.rs
浏览文件 @
ac6daed3
...
...
@@ -91,7 +91,7 @@ pub struct Frame<'mir, 'tcx, Tag=(), Extra=()> {
pub
extra
:
Extra
,
}
#[derive(Clone,
Debug,
Eq,
PartialEq,
Hash
)]
#[derive(Clone,
Eq,
PartialEq
)]
pub
enum
StackPopCleanup
{
/// Jump to the next block in the caller, or cause UB if None (that's a function
/// that may never return). Also store layout of return place so
...
...
@@ -113,7 +113,7 @@ pub struct LocalState<'tcx, Tag=(), Id=AllocId> {
}
/// Current value of a local variable
#[derive(C
opy,
Clone,
PartialEq,
Eq,
Hash,
Debug
)]
#[derive(C
lone,
PartialEq,
Eq
)]
pub
enum
LocalValue
<
Tag
=
(),
Id
=
AllocId
>
{
/// This local is not currently alive, and cannot be used at all.
Dead
,
...
...
src/librustc_mir/interpret/memory.rs
浏览文件 @
ac6daed3
...
...
@@ -22,7 +22,7 @@
Machine
,
AllocMap
,
MayLeak
,
ErrorHandled
,
CheckInAllocMsg
,
};
#[derive(Debug,
PartialEq,
Eq,
Copy,
Clone,
Hash
)]
#[derive(Debug,
PartialEq,
Copy,
Clone
)]
pub
enum
MemoryKind
<
T
>
{
/// Error if deallocated except during a stack pop
Stack
,
...
...
src/librustc_mir/interpret/operand.rs
浏览文件 @
ac6daed3
...
...
@@ -26,7 +26,7 @@
/// operations and fat pointers. This idea was taken from rustc's codegen.
/// In particular, thanks to `ScalarPair`, arithmetic operations and casts can be entirely
/// defined on `Immediate`, and do not have to work with a `Place`.
#[derive(Copy,
Clone,
Debug,
Hash,
PartialEq,
Eq)]
#[derive(Copy,
Clone,
Debug,
PartialEq,
Eq)]
pub
enum
Immediate
<
Tag
=
(),
Id
=
AllocId
>
{
Scalar
(
ScalarMaybeUndef
<
Tag
,
Id
>
),
ScalarPair
(
ScalarMaybeUndef
<
Tag
,
Id
>
,
ScalarMaybeUndef
<
Tag
,
Id
>
),
...
...
@@ -123,7 +123,7 @@ fn deref(&self) -> &Immediate<Tag> {
/// An `Operand` is the result of computing a `mir::Operand`. It can be immediate,
/// or still in memory. The latter is an optimization, to delay reading that chunk of
/// memory and to avoid having to store arbitrary-sized data here.
#[derive(Copy,
Clone,
Debug,
Hash,
PartialEq,
Eq)]
#[derive(Copy,
Clone,
Debug,
PartialEq,
Eq)]
pub
enum
Operand
<
Tag
=
(),
Id
=
AllocId
>
{
Immediate
(
Immediate
<
Tag
,
Id
>
),
Indirect
(
MemPlace
<
Tag
,
Id
>
),
...
...
@@ -153,7 +153,7 @@ pub fn assert_immediate(self) -> Immediate<Tag>
}
}
#[derive(Copy,
Clone,
Debug,
Hash,
PartialEq,
Eq)]
#[derive(Copy,
Clone,
Debug,
Partial
Eq)]
pub
struct
OpTy
<
'tcx
,
Tag
=
()
>
{
op
:
Operand
<
Tag
>
,
// Keep this private, it helps enforce invariants
pub
layout
:
TyLayout
<
'tcx
>
,
...
...
src/librustc_mir/monomorphize/collector.rs
浏览文件 @
ac6daed3
...
...
@@ -199,7 +199,7 @@
use
std
::
iter
;
#[derive(PartialEq
,
Eq,
Hash,
Clone,
Copy,
Debug
)]
#[derive(PartialEq)]
pub
enum
MonoItemCollectionMode
{
Eager
,
Lazy
...
...
src/librustc_target/spec/mod.rs
浏览文件 @
ac6daed3
...
...
@@ -71,8 +71,7 @@
mod
wasm32_base
;
mod
vxworks_base
;
#[derive(Clone,
Copy,
Debug,
Eq,
Ord,
PartialEq,
PartialOrd,
Hash,
RustcEncodable,
RustcDecodable)]
#[derive(Clone,
Copy,
Debug,
Eq,
Ord,
PartialEq,
PartialOrd)]
pub
enum
LinkerFlavor
{
Em
,
Gcc
,
...
...
@@ -82,8 +81,7 @@ pub enum LinkerFlavor {
PtxLinker
,
}
#[derive(Clone,
Copy,
Debug,
Eq,
Ord,
PartialEq,
PartialOrd,
Hash,
RustcEncodable,
RustcDecodable)]
#[derive(Clone,
Copy,
Debug,
Eq,
Ord,
PartialEq,
PartialOrd)]
pub
enum
LldFlavor
{
Wasm
,
Ld64
,
...
...
src/librustdoc/clean/mod.rs
浏览文件 @
ac6daed3
...
...
@@ -1307,7 +1307,7 @@ fn clean(&self, cx: &DocContext<'_>) -> Option<Lifetime> {
}
}
#[derive(Clone,
PartialEq,
Eq,
Debug,
Hash
)]
#[derive(Clone,
Debug
)]
pub
enum
WherePredicate
{
BoundPredicate
{
ty
:
Type
,
bounds
:
Vec
<
GenericBound
>
},
RegionPredicate
{
lifetime
:
Lifetime
,
bounds
:
Vec
<
GenericBound
>
},
...
...
@@ -1589,7 +1589,7 @@ fn clean(&self, cx: &DocContext<'_>) -> GenericParamDef {
}
// maybe use a Generic enum and use Vec<Generic>?
#[derive(Clone,
PartialEq,
Eq,
Debug,
Default,
Hash
)]
#[derive(Clone,
Debug,
Default
)]
pub
struct
Generics
{
pub
params
:
Vec
<
GenericParamDef
>
,
pub
where_predicates
:
Vec
<
WherePredicate
>
,
...
...
@@ -3847,7 +3847,7 @@ fn clean(&self, _: &DocContext<'_>) -> Mutability {
}
}
#[derive(Clone,
PartialEq,
Eq,
Copy,
Debug,
Hash
)]
#[derive(Clone,
PartialEq,
Debug
)]
pub
enum
ImplPolarity
{
Positive
,
Negative
,
...
...
@@ -4506,7 +4506,6 @@ struct RegionDeps<'tcx> {
smaller
:
FxHashSet
<
RegionTarget
<
'tcx
>>
}
#[derive(Eq,
PartialEq,
Hash,
Debug)]
enum
SimpleBound
{
TraitBound
(
Vec
<
PathSegment
>
,
Vec
<
SimpleBound
>
,
Vec
<
GenericParamDef
>
,
hir
::
TraitBoundModifier
),
Outlives
(
Lifetime
),
...
...
src/libsyntax/ast.rs
浏览文件 @
ac6daed3
...
...
@@ -1305,7 +1305,7 @@ pub fn stream(&self) -> TokenStream {
}
}
#[derive(Clone,
RustcEncodable,
RustcDecodable,
Debug,
Copy
,
Hash,
PartialEq
)]
#[derive(Clone,
RustcEncodable,
RustcDecodable,
Debug,
Copy)]
pub
enum
StrStyle
{
/// A regular string, like `"foo"`.
Cooked
,
...
...
@@ -1327,7 +1327,7 @@ pub struct Lit {
pub
span
:
Span
,
}
#[derive(Clone,
RustcEncodable,
RustcDecodable,
Debug,
Copy
,
Hash,
PartialEq
)]
#[derive(Clone,
RustcEncodable,
RustcDecodable,
Debug,
Copy)]
pub
enum
LitIntType
{
Signed
(
IntTy
),
Unsigned
(
UintTy
),
...
...
@@ -1337,7 +1337,7 @@ pub enum LitIntType {
/// Literal kind.
///
/// E.g., `"foo"`, `42`, `12.34`, or `bool`.
#[derive(Clone,
RustcEncodable,
RustcDecodable,
Debug
,
Hash,
PartialEq
)]
#[derive(Clone,
RustcEncodable,
RustcDecodable,
Debug)]
pub
enum
LitKind
{
/// A string literal (`"foo"`).
Str
(
Symbol
,
StrStyle
),
...
...
src/libsyntax/attr/builtin.rs
浏览文件 @
ac6daed3
...
...
@@ -84,7 +84,7 @@ fn handle_errors(sess: &ParseSess, span: Span, error: AttrError) {
}
}
#[derive(C
opy,
Clone,
Hash
,
PartialEq,
RustcEncodable,
RustcDecodable)]
#[derive(C
lone
,
PartialEq,
RustcEncodable,
RustcDecodable)]
pub
enum
InlineAttr
{
None
,
Hint
,
...
...
@@ -92,7 +92,7 @@ pub enum InlineAttr {
Never
,
}
#[derive(C
opy,
Clone,
Hash,
PartialEq
,
RustcEncodable,
RustcDecodable)]
#[derive(C
lone
,
RustcEncodable,
RustcDecodable)]
pub
enum
OptimizeAttr
{
None
,
Speed
,
...
...
@@ -624,8 +624,7 @@ pub fn eval_condition<F>(cfg: &ast::MetaItem, sess: &ParseSess, eval: &mut F)
}
}
#[derive(RustcEncodable,
RustcDecodable,
PartialEq,
PartialOrd,
Clone,
Debug,
Eq,
Hash)]
#[derive(RustcEncodable,
RustcDecodable,
Clone)]
pub
struct
Deprecation
{
pub
since
:
Option
<
Symbol
>
,
pub
note
:
Option
<
Symbol
>
,
...
...
@@ -749,7 +748,7 @@ pub enum ReprAttr {
ReprAlign
(
u32
),
}
#[derive(Eq,
Hash,
PartialEq,
Debug,
RustcEncodable,
RustcDecodable,
Copy,
Clone)]
#[derive(Eq,
PartialEq,
Debug,
RustcEncodable,
RustcDecodable,
Copy,
Clone)]
pub
enum
IntType
{
SignedInt
(
ast
::
IntTy
),
UnsignedInt
(
ast
::
UintTy
)
...
...
src/libsyntax/ptr.rs
浏览文件 @
ac6daed3
...
...
@@ -35,7 +35,6 @@
use
rustc_data_structures
::
stable_hasher
::{
StableHasher
,
HashStable
};
/// An owned smart pointer.
#[derive(Hash,
PartialEq,
Eq)]
pub
struct
P
<
T
:
?
Sized
>
{
ptr
:
Box
<
T
>
}
...
...
src/libsyntax/source_map.rs
浏览文件 @
ac6daed3
...
...
@@ -41,7 +41,7 @@ pub fn original_sp(sp: Span, enclosing_sp: Span) -> Span {
}
}
#[derive(Clone,
PartialEq,
Eq,
RustcEncodable,
RustcDecodable,
Hash
,
Debug,
Copy)]
#[derive(Clone,
RustcEncodable,
RustcDecodable
,
Debug,
Copy)]
pub
struct
Spanned
<
T
>
{
pub
node
:
T
,
pub
span
:
Span
,
...
...
src/libsyntax_expand/mbe.rs
浏览文件 @
ac6daed3
...
...
@@ -73,7 +73,7 @@ fn new(op: KleeneOp, span: Span) -> KleeneToken {
/// A Kleene-style [repetition operator](http://en.wikipedia.org/wiki/Kleene_star)
/// for token sequences.
#[derive(Clone,
PartialEq,
RustcEncodable,
RustcDecodable,
Hash,
Debug,
Copy)]
#[derive(Clone,
PartialEq,
RustcEncodable,
RustcDecodable,
Debug,
Copy)]
enum
KleeneOp
{
/// Kleene star (`*`) for zero or more repetitions
ZeroOrMore
,
...
...
src/libsyntax_pos/lib.rs
浏览文件 @
ac6daed3
...
...
@@ -1311,7 +1311,7 @@ pub trait Pos {
/// A character offset. Because of multibyte UTF-8 characters, a byte offset
/// is not equivalent to a character offset. The `SourceMap` will convert `BytePos`
/// values to `CharPos` values as necessary.
#[derive(Copy,
Clone,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
Debug)]
#[derive(Copy,
Clone,
PartialEq,
Eq,
PartialOrd,
Ord,
Debug)]
pub
struct
CharPos
(
pub
usize
);
// FIXME: lots of boilerplate in these impls, but so far my attempts to fix
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录