diff options
| author | mat <github@matdoes.dev> | 2022-09-05 11:44:48 -0500 |
|---|---|---|
| committer | mat <github@matdoes.dev> | 2022-09-05 11:44:48 -0500 |
| commit | fcb5bdf04241082d08b1ecc083745d6d97af61a9 (patch) | |
| tree | b41a76923e299dc60802d676a319c85f9c76858c /azalea-registry | |
| parent | 4301a2f2d4c711fd50a54cf065079c42b89a72f2 (diff) | |
| download | azalea-drasl-fcb5bdf04241082d08b1ecc083745d6d97af61a9.tar.xz | |
use az-registry in az-protocol
Diffstat (limited to 'azalea-registry')
| -rw-r--r-- | azalea-registry/Cargo.toml | 1 | ||||
| -rw-r--r-- | azalea-registry/azalea-registry-macros/src/lib.rs | 14 |
2 files changed, 11 insertions, 4 deletions
diff --git a/azalea-registry/Cargo.toml b/azalea-registry/Cargo.toml index c9a4ed02..cb199611 100644 --- a/azalea-registry/Cargo.toml +++ b/azalea-registry/Cargo.toml @@ -8,4 +8,5 @@ version = "0.1.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] +azalea-buf = {path = "../azalea-buf", version = "^0.1.0"} azalea-registry-macros = {path = "./azalea-registry-macros", version = "^0.1.0"} diff --git a/azalea-registry/azalea-registry-macros/src/lib.rs b/azalea-registry/azalea-registry-macros/src/lib.rs index fef698f5..16d8608e 100644 --- a/azalea-registry/azalea-registry-macros/src/lib.rs +++ b/azalea-registry/azalea-registry-macros/src/lib.rs @@ -67,7 +67,7 @@ pub fn registry(input: TokenStream) -> TokenStream { }); } generated.extend(quote! { - #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] + #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, azalea_buf::McBuf)] #[repr(u32)] pub enum #name { #enum_items @@ -75,12 +75,16 @@ pub fn registry(input: TokenStream) -> TokenStream { }); let max_id = input.items.len() as u32; + + let doc_0 = format!("Transmutes a u32 to a {}.", name); + let doc_1 = format!("The `id` should be at most {}.", max_id); + generated.extend(quote! { impl #name { - /// Transmutes a u32 to a #name. + #[doc = #doc_0] /// /// # Safety - /// The `id` should be at most #max_id. + #[doc = #doc_1] #[inline] pub unsafe fn from_u32_unchecked(id: u32) -> Self { std::mem::transmute::<u32, #name>(id) @@ -93,11 +97,13 @@ pub fn registry(input: TokenStream) -> TokenStream { } }); + let doc_0 = format!("Safely transmutes a u32 to a {}.", name); + generated.extend(quote! { impl TryFrom<u32> for #name { type Error = (); - /// Safely converts a state id to a block state. + #[doc = #doc_0] fn try_from(id: u32) -> Result<Self, Self::Error> { if Self::is_valid_id(id) { Ok(unsafe { Self::from_u32_unchecked(id) }) |
