#string #static #utilities #convert-string

vec-string-to-static-str

A Rust library providing utilities for converting vectors of Strings into vectors of &'static str

1 个稳定版本

1.0.0 2024 年 6 月 6 日

#562 in 文本处理

MIT 许可证

9KB
109

vec-string-to-static-str

vec-string-to-static-str is a Rust library providing utilities for converting vectors of Strings into vectors of &'static str. This library includes both safe and unsafe methods for achieving this conversion.

功能

  • 使用 Box::leak 安全地将 String 转换为 &'static str
  • 使用 std::mem::transmute 进行不安全转换,以扩展字符串切片的生存期

用法

vec_string_to_static_str 添加到您的 Cargo.toml

[dependencies]
vec-string-to-static-str = "1.0.0"

确保添加 "unsafe" 功能标志以启用 unsafe_vec_string_to_static_str

示例

use vec_string_to_static_str::{vec_string_to_static_str, unsafe_vec_string_to_static_str};

fn main() {
    let strings = vec![String::from("hello"), String::from("world")];

    // Safe method
    let static_strs = vec_string_to_static_str(&strings);
    assert_eq!(static_strs, vec!["hello", "world"]);

    // Unsafe method
    let unsafe_static_strs = unsafe_vec_string_to_static_str(&strings);
    assert_eq!(unsafe_static_strs, vec!["hello", "world"]);
}

安全性

  • 安全方法:使用 Box::leakString 转换为 &'static str,这会导致内存泄漏。
  • 不安全方法:使用 std::mem::transmute 扩展字符串切片的生存期,如果不正确使用,可能会导致未定义的行为。

许可证

本项目采用 MIT 许可证。有关详细信息,请参阅 LICENSE 文件。

无运行时依赖

功能