#varint #leb128 #protobuf

deprecated no-std const-varint

(Deprecated) This crate is deprecated. Please use varing instead.

9 unstable releases (3 breaking)

0.4.2+deprecated Mar 30, 2025
0.4.1+deprecated Mar 30, 2025
0.3.4 Mar 22, 2025
0.2.1 Feb 6, 2025
0.1.1 Feb 3, 2025

#22 in #leb128

Download history 220/week @ 2025-11-29 114/week @ 2025-12-06 106/week @ 2025-12-13 112/week @ 2025-12-20 192/week @ 2025-12-27 113/week @ 2026-01-03 9/week @ 2026-01-10 4/week @ 2026-02-28 239/week @ 2026-03-07 38/week @ 2026-03-14

281 downloads per month

MIT/Apache

66KB
1.5K SLoC

Note: This crate is renamed to varing.

const-varint

Protobuf's varint encoding/decoding with full const context operations supports. (This project is renamed to varing)

github LoC Build codecov

docs.rs crates.io crates.io license

Installation

[dependencies]
const-varint = "0.4"
  • For u1, u2, u3, .., u127

    const-varint = { version = "0.4", features = "arbitrary-int" }
    
  • For ruint::Uint<BITS, LBITS> support (not compatible in const context)

    const-varint = { version = "0.4", features = ["ruint"] }
    
  • For primitive-types support (not compatible in const context)

    const-varint = { version = "0.4", features = ["primitive-types"] }
    
  • For ethereum-types support (not compatible in const context)

    const-varint = { version = "0.4", features = ["ethereum-types"] }
    

License

const-varint is under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE, LICENSE-MIT for details.

Copyright (c) 2025 Al Liu.

Dependencies

~150–790KB
~17K SLoC