From b8135fd5c8e51a0578cff82096cbbf7e5d57fdeb Mon Sep 17 00:00:00 2001 From: lcnr Date: Tue, 8 Mar 2022 15:39:52 +0100 Subject: add `#[rustc_pass_by_value]` to more types --- compiler/rustc_span/src/def_id.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'compiler/rustc_span/src') diff --git a/compiler/rustc_span/src/def_id.rs b/compiler/rustc_span/src/def_id.rs index 56da7c43728..6d1b36796d8 100644 --- a/compiler/rustc_span/src/def_id.rs +++ b/compiler/rustc_span/src/def_id.rs @@ -27,8 +27,8 @@ impl CrateNum { } #[inline] - pub fn as_def_id(&self) -> DefId { - DefId { krate: *self, index: CRATE_DEF_INDEX } + pub fn as_def_id(self) -> DefId { + DefId { krate: self, index: CRATE_DEF_INDEX } } } @@ -222,6 +222,7 @@ impl Decodable for DefIndex { // On below-64 bit systems we can simply use the derived `Hash` impl #[cfg_attr(not(target_pointer_width = "64"), derive(Hash))] #[repr(C)] +#[rustc_pass_by_value] // We guarantee field order. Note that the order is essential here, see below why. pub struct DefId { // cfg-ing the order of fields so that the `DefIndex` which is high entropy always ends up in -- cgit 1.4.1-3-g733a5