chiark / gitweb /
shapelib catalogue: Make ItemSpecLoaded and find_load private
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 13 May 2022 22:45:21 +0000 (23:45 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 13 May 2022 22:57:53 +0000 (23:57 +0100)
We're going to make this more complicated.  Let's make it private and
have otterlib use the trait methods.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/bin/otterlib.rs
src/shapelib.rs

index f42f4e64400aa425866a2166e3a6d13ba6ca94af..5258be87050bdcf19ed736c61d10efb2072ae7a2 100644 (file)
@@ -96,8 +96,14 @@ fn preview(items: Vec<ItemForOutput>) {
     let spec = ItemSpec::from(&it);
     let sortkey = it.sortkey;
     (||{
-      let (p, _occultable) = spec.clone()
-        .find_load(&ig_dummy, SpecDepth::zero())
+      let mut gpc = GPiece::dummy();
+      let SpecLoaded { p, .. } = spec.clone()
+        .load(PieceLoadArgs {
+          ig: &ig_dummy,
+          gpc: &mut gpc,
+          depth: SpecDepth::zero(),
+          i: 0,
+        })
         .context("load")?;
       // todo show occulted version too
       let mut uos = vec![];
index 349e7cbf22dc72414a7edb3820c2382142ed7970..44f1265540070aa150de20535af1bb6c97aff2e4 100644 (file)
@@ -399,7 +399,7 @@ impl InertPieceTrait for Item {
 
 //---------- ItemSpec, MultiSpec ----------
 
-pub type ItemSpecLoaded = (Box<Item>, PieceSpecLoadedOccultable);
+type ItemSpecLoaded = (Box<Item>, PieceSpecLoadedOccultable);
 
 impl From<ItemSpecLoaded> for SpecLoaded {
   fn from((p, occultable):  ItemSpecLoaded) -> SpecLoaded {
@@ -413,7 +413,7 @@ impl From<ItemSpecLoaded> for SpecLoaded {
 
 impl ItemSpec {
   #[throws(SpecError)]
-  pub fn find_load(&self, ig: &Instance, depth: SpecDepth) -> ItemSpecLoaded {
+  fn find_load(&self, ig: &Instance, depth: SpecDepth) -> ItemSpecLoaded {
     let regs = ig.all_shapelibs();
     let libs = regs.lib_name_lookup(&self.lib)?;
     let (lib, (item, idata)) = libs.iter().rev().find_map(