diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f7d9a0..e8fb5f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,7 +17,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Improve error message from syn in generator. !15 - Removed top level module (register_interface), and now it can have arbitrary name. -- Use full path `RegisterSpec`s to avoid unused `use` ## [0.3.1] - 2025-04-11 diff --git a/src/generator.rs b/src/generator.rs index 94ea55f..8fa5ff7 100644 --- a/src/generator.rs +++ b/src/generator.rs @@ -455,6 +455,7 @@ impl CodeGen for Register { use std::marker::PhantomData; use crate::axic2c1::spec::AxiC2c1Spec; + use crate::register_spec::{DataConversionError, Modifiable, Readable, RegisterSpec, Writable}; const OFFSET: usize = #addr; diff --git a/src/generator/codegen_register.rs b/src/generator/codegen_register.rs index 931ed3a..b54e4a9 100644 --- a/src/generator/codegen_register.rs +++ b/src/generator/codegen_register.rs @@ -76,7 +76,7 @@ fn reg_type_def_masked( #[derive(Debug, Clone, Copy, Default)] pub struct #upper_camel_name(pub #type_ux); impl TryFrom<#type_ux> for #upper_camel_name { - type Error = crate::register_spec::DataConversionError<#type_ux, Self>; + type Error = DataConversionError<#type_ux, Self>; fn try_from(value: #type_ux) -> Result { Ok(Self(value & #mask)) @@ -137,7 +137,7 @@ fn reg_type_def_with_field( #(#code_setters)* } impl TryFrom<#type_ux> for #upper_camel_name { - type Error = crate::register_spec::DataConversionError<#type_ux, Self>; + type Error = DataConversionError<#type_ux, Self>; fn try_from(value: #type_ux) -> Result { Ok(Self { inner: value }) diff --git a/src/generator/codegen_registerspec_impl.rs b/src/generator/codegen_registerspec_impl.rs index fc3dfb6..32604a0 100644 --- a/src/generator/codegen_registerspec_impl.rs +++ b/src/generator/codegen_registerspec_impl.rs @@ -11,19 +11,19 @@ pub(super) fn gen_registerspec_impl( ) -> TokenStream { let impl_rw = match modf { RwSpecifier::R => quote! { - impl crate::register_spec::Readable for #reg_name<'_, T> {} + impl Readable for #reg_name<'_, T> {} }, RwSpecifier::W => quote! { - impl crate::register_spec::Writable for #reg_name<'_, T> {} + impl Writable for #reg_name<'_, T> {} }, RwSpecifier::RW => quote! { - impl crate::register_spec::Readable for #reg_name<'_, T> {} - impl crate::register_spec::Writable for #reg_name<'_, T> {} - impl crate::register_spec::Modifiable for #reg_name<'_, T> {} + impl Readable for #reg_name<'_, T> {} + impl Writable for #reg_name<'_, T> {} + impl Modifiable for #reg_name<'_, T> {} }, }; quote! { - impl crate::register_spec::RegisterSpec for #reg_name<'_, T> { + impl RegisterSpec for #reg_name<'_, T> { type Ux = #type_ux; type T = #type_t;