From: Ian Jackson Date: Wed, 4 May 2022 20:42:13 +0000 (+0100) Subject: Switch to deriving Deref X-Git-Tag: otter-1.1.0~289 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=fc7b1653d728e2305c09915c475be771968e6351;p=otter.git Switch to deriving Deref Signed-off-by: Ian Jackson --- diff --git a/src/bundles.rs b/src/bundles.rs index 075b482d..8776f252 100644 --- a/src/bundles.rs +++ b/src/bundles.rs @@ -365,12 +365,11 @@ impl From for LoadError { } } -#[derive(Debug)] +#[derive(Debug,Deref,DerefMut)] pub struct IndexedZip { - za: ZipArchive, + #[deref] #[deref_mut] za: ZipArchive, members: BTreeMap, usize>, } -deref_to_field_mut!{IndexedZip, ZipArchive, za } #[derive(Debug,Copy,Clone,Hash,Eq,PartialEq,Ord,PartialOrd)] pub struct ZipIndex(pub usize); diff --git a/src/global.rs b/src/global.rs index 41e2d5fb..94b30346 100644 --- a/src/global.rs +++ b/src/global.rs @@ -40,9 +40,9 @@ pub struct InstanceOuter { } #[derive(Debug,Clone,Serialize,Deserialize,Default)] +#[derive(Deref,DerefMut)] #[serde(transparent)] pub struct LinksTable(pub EnumMap>); -deref_to_field_mut!{LinksTable, EnumMap>, 0} pub struct Instance { pub name: Arc, @@ -79,12 +79,12 @@ pub struct IPlayer { // usual variable: ipl /// Strange ownership and serialisation rules, like `OccultIlkOwningId` #[derive(Debug,Serialize,Deserialize)] +#[derive(Deref)] pub struct IPiece { - pub p: IPieceTraitObj, + #[deref] pub p: IPieceTraitObj, pub occilk: Option, #[serde(default)] pub special: PieceSpecialProperties, } -deref_to_field!{IPiece, IPieceTraitObj, p} #[derive(Debug,Serialize,Deserialize)] #[serde(transparent)]