diff options
| author | Simon Vandel Sillesen <simon.vandel@gmail.com> | 2020-10-04 15:52:14 +0200 |
|---|---|---|
| committer | Simon Vandel Sillesen <simon.vandel@gmail.com> | 2021-02-21 21:51:54 +0100 |
| commit | 2d1e0adfe9fbe3e0ebdac3ba80b9781cb4f800f7 (patch) | |
| tree | b1da1aee72781425b132479d8357a51360adeb59 /compiler/rustc_hir/src | |
| parent | 1e865709a685952d2fe30a84a9f338d294e8022d (diff) | |
| download | rust-2d1e0adfe9fbe3e0ebdac3ba80b9781cb4f800f7.tar.gz rust-2d1e0adfe9fbe3e0ebdac3ba80b9781cb4f800f7.zip | |
New pass to deduplicate blocks
Diffstat (limited to 'compiler/rustc_hir/src')
| -rw-r--r-- | compiler/rustc_hir/src/hir.rs | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/compiler/rustc_hir/src/hir.rs b/compiler/rustc_hir/src/hir.rs index 4df8c44e62b..61586dd1a1c 100644 --- a/compiler/rustc_hir/src/hir.rs +++ b/compiler/rustc_hir/src/hir.rs @@ -1281,7 +1281,18 @@ impl Body<'hir> { } /// The type of source expression that caused this generator to be created. -#[derive(Clone, PartialEq, Eq, Hash, HashStable_Generic, Encodable, Decodable, Debug, Copy)] +#[derive( + Clone, + PartialEq, + PartialOrd, + Eq, + Hash, + HashStable_Generic, + Encodable, + Decodable, + Debug, + Copy +)] pub enum GeneratorKind { /// An explicit `async` block or the body of an async function. Async(AsyncGeneratorKind), @@ -1313,7 +1324,18 @@ impl GeneratorKind { /// /// This helps error messages but is also used to drive coercions in /// type-checking (see #60424). -#[derive(Clone, PartialEq, Eq, Hash, HashStable_Generic, Encodable, Decodable, Debug, Copy)] +#[derive( + Clone, + PartialEq, + PartialOrd, + Eq, + Hash, + HashStable_Generic, + Encodable, + Decodable, + Debug, + Copy +)] pub enum AsyncGeneratorKind { /// An explicit `async` block written by the user. Block, @@ -2308,7 +2330,7 @@ pub struct InlineAsm<'hir> { pub line_spans: &'hir [Span], } -#[derive(Copy, Clone, Encodable, Decodable, Debug, HashStable_Generic, PartialEq)] +#[derive(Copy, Clone, Encodable, Decodable, Debug, Hash, HashStable_Generic, PartialEq)] pub struct LlvmInlineAsmOutput { pub constraint: Symbol, pub is_rw: bool, @@ -2319,7 +2341,7 @@ pub struct LlvmInlineAsmOutput { // NOTE(eddyb) This is used within MIR as well, so unlike the rest of the HIR, // it needs to be `Clone` and `Decodable` and use plain `Vec<T>` instead of // arena-allocated slice. -#[derive(Clone, Encodable, Decodable, Debug, HashStable_Generic, PartialEq)] +#[derive(Clone, Encodable, Decodable, Debug, Hash, HashStable_Generic, PartialEq)] pub struct LlvmInlineAsmInner { pub asm: Symbol, pub asm_str_style: StrStyle, |
