From a973a628ec051ab9483fde7d694bb261bb793178 Mon Sep 17 00:00:00 2001 From: Martin Fischer Date: Mon, 22 Nov 2021 06:56:10 +0100 Subject: fix unconvertible type error span --- src/transform.rs | 9 ++++----- ui-tests/src/bin/unconvertible_type.stderr | 4 ++-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/transform.rs b/src/transform.rs index 69929cc..e8481bb 100644 --- a/src/transform.rs +++ b/src/transform.rs @@ -24,10 +24,9 @@ pub enum TransformError { impl AssocTypeConversions<'_> { pub fn parse_type_path(&self, type_: &mut Type) -> Result { - let assoc_span = match iter_type(type_).filter_map(filter_map_assoc_paths).next() { - Some(path) => path.span(), - None => return Ok(TypeTransform::NoOp), - }; + if !iter_type(type_).any(match_assoc_type) { + return Ok(TypeTransform::NoOp); + } if let Type::Reference(TypeReference { lifetime: None, @@ -144,7 +143,7 @@ impl AssocTypeConversions<'_> { // the type contains an associated type but we // don't know how to deal with it so we abort - Err(TransformError::AssocTypeInUnsupportedType(assoc_span)) + Err(TransformError::AssocTypeInUnsupportedType(type_.span())) } } diff --git a/ui-tests/src/bin/unconvertible_type.stderr b/ui-tests/src/bin/unconvertible_type.stderr index 462b939..03c7f30 100644 --- a/ui-tests/src/bin/unconvertible_type.stderr +++ b/ui-tests/src/bin/unconvertible_type.stderr @@ -1,5 +1,5 @@ error: dynamize does not know how to convert this type - --> src/bin/unconvertible_type.rs:7:31 + --> src/bin/unconvertible_type.rs:7:27 | 7 | fn a(&self) -> Option>; - | ^^^^ + | ^^^ -- cgit v1.2.3