chiark / gitweb /
Switch to deriving Deref
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 4 May 2022 20:42:13 +0000 (21:42 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 4 May 2022 20:52:32 +0000 (21:52 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/bundles.rs
src/global.rs

index 075b482d3343e91f0c36aeb002bdfcdb89cc0911..8776f252610aa8437634db12f682324480879867 100644 (file)
@@ -365,12 +365,11 @@ impl From<ZipError> for LoadError {
   }
 }
 
-#[derive(Debug)]
+#[derive(Debug,Deref,DerefMut)]
 pub struct IndexedZip {
-  za: ZipArchive,
+  #[deref] #[deref_mut] za: ZipArchive,
   members: BTreeMap<UniCase<String>, usize>,
 }
-deref_to_field_mut!{IndexedZip, ZipArchive, za }
 
 #[derive(Debug,Copy,Clone,Hash,Eq,PartialEq,Ord,PartialOrd)]
 pub struct ZipIndex(pub usize);
index 41e2d5fb9c70d452791f7a275851f364e2c8a7e3..94b30346fe4de2eb4f227d876232405c77661d0d 100644 (file)
@@ -40,9 +40,9 @@ pub struct InstanceOuter {
 }
 
 #[derive(Debug,Clone,Serialize,Deserialize,Default)]
+#[derive(Deref,DerefMut)]
 #[serde(transparent)]
 pub struct LinksTable(pub EnumMap<LinkKind, Option<String>>);
-deref_to_field_mut!{LinksTable, EnumMap<LinkKind, Option<String>>, 0}
 
 pub struct Instance {
   pub name: Arc<InstanceName>,
@@ -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<IOccultIlk>,
   #[serde(default)] pub special: PieceSpecialProperties,
 }
-deref_to_field!{IPiece, IPieceTraitObj, p}
 
 #[derive(Debug,Serialize,Deserialize)]
 #[serde(transparent)]