diff --git a/actix-router/src/resource.rs b/actix-router/src/resource.rs index 58016bb3..eb0483a5 100644 --- a/actix-router/src/resource.rs +++ b/actix-router/src/resource.rs @@ -616,13 +616,8 @@ impl ResourceDef { profile_method!(find_match); match &self.pat_type { - PatternType::Static(segment) => { - if segment == path { - Some(segment.len()) - } else { - None - } - } + PatternType::Static(segment) if path == segment => Some(segment.len()), + PatternType::Static(_) => None, PatternType::Prefix(prefix) if path == prefix => Some(prefix.len()), PatternType::Prefix(prefix) if is_strict_prefix(prefix, path) => Some(prefix.len()), @@ -660,7 +655,7 @@ impl ResourceDef { /// ``` pub fn capture_match_info(&self, path: &mut Path) -> bool { profile_method!(is_path_match); - self.capture_match_info_fn(path, &|_, _| true, &None::<()>) + self.capture_match_info_fn(path, |_, _| true, ()) } /// Collects dynamic segment values into `resource` after matching paths and executing @@ -683,7 +678,7 @@ impl ResourceDef { /// resource.capture_match_info_fn( /// path, /// // when env var is not set, reject when path contains "admin" - /// &|res, admin_allowed| !res.path().contains("admin"), + /// |res, admin_allowed| !res.path().contains("admin"), /// &admin_allowed /// ) /// } @@ -704,13 +699,13 @@ impl ResourceDef { pub fn capture_match_info_fn( &self, resource: &mut R, - check_fn: &F, - user_data: &Option, + check_fn: F, + user_data: U, ) -> bool where R: Resource, T: ResourcePath, - F: Fn(&R, &Option) -> bool, + F: FnOnce(&R, U) -> bool, { profile_method!(is_path_match_fn);