vtcode-macros 0.123.4

Procedural macros for VT Code
Documentation

vtcode-macros

Procedural macros for VT Code.

vtcode-macros provides derive macros that eliminate boilerplate for common patterns in the VT Code codebase.

Derive macros

StringNewtype

Derive macro for tuple structs wrapping a single String field. Generates:

  • Inherent methods: new(), as_str(), into_inner()
  • Deref<Target = str>
  • Borrow<str>
  • AsRef<str>
  • Display
  • From<String>, From<&str>, From<Self> for String

Usage

use vtcode_macros::StringNewtype;
use serde::{Serialize, Deserialize};

#[derive(Debug, Clone, Serialize, Deserialize, StringNewtype)]
#[serde(transparent)]
pub struct SessionId(String);

let id = SessionId::new("abc-123");
assert_eq!(id.as_str(), "abc-123");
assert_eq!(id.to_string(), "abc-123");

let inner: String = id.into_inner();

API reference

See docs.rs/vtcode-macros.