Skip to content

Три бинарника и один тест не собираются: исключены из сборки до починки #96

Description

@gHashTag

Чтобы CI перестал блокировать все PR подряд, автообнаружение целей отключено (autobins = false, autotests = false), и явно объявлены только те, что собираются. Ниже — что именно исключено и почему. Каждый пункт возвращается в сборку отдельным PR, когда причина устранена.

src/bin/tri_rti.rs

Импортирует trios_mesh::rti, tri_beamform, tri_video_fusion. Ни один из этих модулей никогда не существовал — проверено по всем 36 веткам и по всей истории. Это не удаление, бинарник не компилировался ни разу. Возврат в сборку означает написать три модуля.

src/bin/trios_meshd.rs

В крейте два разных трейта Transport:

  • src/daemon.rs:17send(&mut self, frame: &[u8]), recv(&mut self)
  • src/lib.rs:89send_to(&self, data, dst), recv_from(&self, buf)

Бинарник импортирует trios_mesh::Transport (второй) и реализует первый. Это выбор канонического API, а не опечатка: надо решить, какой трейт остаётся, и привести к нему демон.

src/bin/trios_meshd_video.rs и tests/video_bridge_wire.rs

Оба зависят от trios_mesh::video_bridge. Модуль сгенерирован (gen/rust/video_bridge.rs), но не компилируется: 17 ошибок типов, и причина в спецификации, а не в генераторе.

specs/video_bridge.t27:85 и далее объявляют результат u32, а считают в u16:

fn fb_util_pct(spent: u16, rate: u16) -> u8 {
    let scaled: u32 = spent;
    let pct: u32 = ((spent * 100) / rate);

spent * 100 вычисляется в u16 и переполняется при spent > 655. Объявление результата как u32 этого не лечит. Нужно решить, в какой ширине идёт арифметика, и расставить приведения в спецификации. Это численная семантика видеобюджета, менять её вслепую нельзя.

Что при этом работает

smoke-m1 починен по-настоящему: ему не хватало реэкспортов Handshake, MeshError, Node в корне крейта, они добавлены. Это тот бинарник, который дал 3/3 PASS на платах.

Библиотека собирается, 101 тест проходит.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions