From: Ian Jackson Date: Tue, 3 May 2022 20:04:53 +0000 (+0100) Subject: Remove some Arcs X-Git-Tag: otter-1.1.0~304 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=27c05453ab188a35a76d9ec1145c14c4002b6d62;p=otter.git Remove some Arcs The one around Html is getting in my way. These are an optimisation which is only effective until the first save/load, which seems useless. Putting a GoodItemName in an Arc seems overkill. Signed-off-by: Ian Jackson --- diff --git a/src/occultilks.rs b/src/occultilks.rs index e1c7cfe0..3cbcbcc7 100644 --- a/src/occultilks.rs +++ b/src/occultilks.rs @@ -18,7 +18,7 @@ slotmap::new_key_type!{ pub struct OccultIlkId; } #[serde(transparent)] pub struct OccultIlkOwningId(Id); -pub type OccultIlkName = Arc; +pub type OccultIlkName = GoodItemName; #[derive(Debug,Clone,Serialize,Deserialize)] pub struct OccultIlkData { diff --git a/src/shapelib.rs b/src/shapelib.rs index f3826db8..86c9a60d 100644 --- a/src/shapelib.rs +++ b/src/shapelib.rs @@ -67,11 +67,11 @@ enum OccData { #[allow(non_camel_case_types)] #[derive(Debug)] struct OccData_Internal { - item_name: SvgBaseName>, + item_name: SvgBaseName, outline: Outline, desc: Html, xform: FaceTransform, - svgd: lazy_init::Lazy,SpecError>>, + svgd: lazy_init::Lazy>, } #[derive(Error,Debug)] @@ -178,9 +178,9 @@ pub struct Item { #[derive(Debug,Serialize,Deserialize)] struct ItemInertForOcculted { - itemname: Arc, + itemname: GoodItemName, desc: Html, - svgd: Arc, + svgd: Html, xform: FaceTransform, outline: Outline, } @@ -604,7 +604,7 @@ impl Contents { occ.item_name.unnest::().unnest(), /* original: */ lib_name, name.as_str() )?; - Ok(Arc::new(occ_data)) + Ok(occ_data) }).clone()?; let it = Arc::new(ItemInertForOcculted { svgd, @@ -819,7 +819,7 @@ pub fn load_catalogue(libname: &str, src: &mut dyn LibrarySource) -> Contents { let src_name = subst(&fe.src_file_spec, "_c", &colour.0); let item_name: GoodItemName = item_name.try_into()?; let item_name = SvgBaseName::note( - src, Arc::new(item_name), src_name.as_ref().map(|s| s.as_str()), + src, item_name, src_name.as_ref().map(|s| s.as_str()), )?; let desc = subst(&fe.desc, "_colour", "")?.to_html(); OccData::Internal(Arc::new(OccData_Internal {