bitcoin_internals/const_casts.rs
1//! Const-compatible integer casting functions.
2//!
3//! This module provides explicit, const-compatible functions for integer type conversions
4//! that would normally be done using the [`Into`] trait. Since trait methods cannot be used
5//! in `const` contexts, these functions serve as alternatives that make conversion intent
6//! clear while maintaining compile-time evaluation capabilities.
7
8/// Converts `u16` to `u64`
9pub const fn u16_to_u64(value: u16) -> u64 { value as u64 }
10
11/// Converts `u32` to `u64`
12pub const fn u32_to_u64(value: u32) -> u64 { value as u64 }
13
14/// Converts `i16` to `i64`
15pub const fn i16_to_i64(value: i16) -> i64 { value as i64 }
16
17/// Converts `u16` to `u32`
18pub const fn u16_to_u32(value: u16) -> u32 { value as u32 }