bb_ir/lib.rs
1#![warn(missing_docs)]
2// peer_class.rs links bb-compiler's `infer_peer_classes`; resolves at
3// the facade level.
4#![allow(rustdoc::broken_intra_doc_links)]
5
6//! Foundation IR crate. Hosts prost-generated ONNX + `bb.core`
7//! bindings and the cross-crate types every other crate depends on:
8//!
9//! - [`ids`] — `PeerId`, `NodeSiteId`, `OpRef`, `ComponentRef`,
10//! `ExecId`, `CommandId`, `RequestId`.
11//! - [`wire`] — `TypeNode` denotations + canonical statics.
12//! - [`tensor`] — `Scalar`, `Tensor` traits + `Dense<T>` storage.
13//! - [`slot_value`] — universal `SlotValue` trait.
14//! - [`atomic`] — `AtomicOpsetDecl`, `AtomicOpDecl`, `AtomicOpKind`.
15
16pub mod atomic;
17pub mod component;
18pub mod ids;
19pub mod keys;
20pub mod peer_class;
21pub mod proto;
22pub mod registry;
23pub mod slot_value;
24pub mod syscall_ids;
25pub mod tensor;
26pub mod tensor_primitives;
27pub mod types;
28pub mod verify;
29pub mod version;
30pub mod wire;
31pub mod wire_shape;
32
33pub use tensor_primitives::{
34 opset_covers_primitives, MissingPrimitives, TENSOR_PRIMITIVES_DOMAIN, TENSOR_PRIMITIVES_OPS,
35 TENSOR_PRIMITIVES_VERSION,
36};
37
38// Re-exported so derive macros resolve `$crate::inventory::submit!`
39// at downstream sites without adding a direct dep.
40pub use inventory;
41
42// Re-exported so `#[derive(bb::Concrete)]` can emit serialize/
43// deserialize paths through the facade.
44pub use bincode;