1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//! Internal bincode plugin — provides bincode-specific imports and module
//! helpers through the `EmitterPlugin` trait.
//!
//! This module lives inside the core crate so it can share types and feature
//! constants with the language emitters.
//!
//! # What the plugin handles
//!
//! | Extension point | What it provides |
//! |---|---|
//! | `imports` | Language-specific bincode package imports |
//! | `module_helpers` | Feature helper snippets (`ListOfT`, `SetOfT`, …) |
//! | `has_type_body` | Always `true` |
//! | `type_body` | `serialize` / `deserialize` methods + wrappers |
//!
//! # Language-specific variants
//!
//! - **Kotlin**, **Swift**, **TypeScript**, **C#** — use `BincodePlugin`
//! directly (no language-specific fields required).
/// Bincode serialization plugin.
///
/// A lightweight, language-agnostic plugin token. All languages currently
/// use this struct directly — no language-specific fields are required.
;