aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib.rs3
-rw-r--r--src/transform.rs4
2 files changed, 7 insertions, 0 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 4c1675c..fc559bc 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -155,6 +155,9 @@ pub fn dynamize(_attr: TokenStream, input: TokenStream) -> TokenStream {
n
)
}
+ MethodError::Transform(TransformError::QualifiedAssociatedType) => {
+ return abort!(span, "dynamize does not support qualified associated types")
+ }
MethodError::Transform(TransformError::QualifiedSelfAssociatedType) => {
return abort!(span, "dynamize does not support associated types of a qualified Self")
}
diff --git a/src/transform.rs b/src/transform.rs
index 74ab9e6..eed48c4 100644
--- a/src/transform.rs
+++ b/src/transform.rs
@@ -26,6 +26,7 @@ pub enum TransformError {
UnsupportedType,
ExpectedAtLeastNTypes(usize),
AssocTypeAfterFirstNTypes(usize, Ident),
+ QualifiedAssociatedType,
QualifiedSelfAssociatedType,
}
@@ -119,6 +120,9 @@ impl TypeConverter<'_> {
{
if let Type::Path(self_path) = qself.ty.as_ref() {
if self_path.path.segments[0].ident == "Self" {
+ if !self_path.path.is_ident("Self") {
+ return Err((self_path.span(), TransformError::QualifiedAssociatedType));
+ }
return Err((
self_path.span(),
TransformError::QualifiedSelfAssociatedType,