Skip to content

v0.8.9 sidecar build fails: ferricula::Row has no field 'refs' #78

@kordless

Description

@kordless

The v0.8.9 sidecar fails to compile against the latest published ferricula (v0.9.4 at time of filing). The hyperia code references a refs field on ferricula::Row that doesn't exist in any pushed ferricula release.

Failure

error[E0560]: struct `Row` has no field named `refs`
   --> sidecar/src/ghost/ferricula.rs:267:17
    |
267 |                 refs: None,
    |                 ^^^^ `Row` does not have this field

error[E0560]: struct `Row` has no field named `refs`
   --> sidecar/src/ghost/ferricula.rs:330:71
    |
330 |                 let row = ferricula::Row { id: next_id, tags, vector, refs: None };
    |                                                                       ^^^^

Repro

cd hyperia
git pull   # at fd414ead or later
cd ../ferricula
git pull   # at 4fbb497 / v0.9.4
cd ../hyperia/sidecar
cargo build --release --target x86_64-apple-darwin

ferricula at v0.9.4 — Row definition

// ferricula/src/model.rs
pub struct Row {
    pub id: u32,
    pub tags: std::collections::BTreeMap<String, String>,
    pub vector: Vec<f32>,
}

No refs field anywhere in ferricula/src/.

Likely cause

Either:

  1. There are unpushed ferricula changes on the original build machine that add refs: Option<...> to Row. The hyperia commit using refs (v0.8.9) was pushed before the matching ferricula change was pushed.
  2. The hyperia code should not reference refs — leftover from a never-merged ferricula proposal.

Impact

Blocks the macOS build of v0.8.9 from any other machine — the only artifacts on the v0.8.9 release that matched (the unsigned mac dmgs uploaded earlier) were built from pre-0.8.9 source code with the version stamped to 0.8.9, which is why settings buttons / editor default / install nemesis don't work in those builds.

Fix

Either push the ferricula change that adds refs to Row, or remove the two refs: None lines from sidecar/src/ghost/ferricula.rs (lines 267 and 330).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions