From 96d59366fc3bb0b99d9ec39fb651fc3a7334b009 Mon Sep 17 00:00:00 2001 From: Aaron Gallagher Date: Mon, 2 May 2016 17:11:22 -0700 Subject: [PATCH] Don't misplace the :: on associated items. The rewritten location of the :: on global paths for qpaths was wrong. --- src/types.rs | 5 ++++- tests/target/associated-items.rs | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 tests/target/associated-items.rs diff --git a/src/types.rs b/src/types.rs index a1d449f3249..cf65f4426b3 100644 --- a/src/types.rs +++ b/src/types.rs @@ -33,7 +33,7 @@ pub fn rewrite_path(context: &RewriteContext, -> Option { let skip_count = qself.map_or(0, |x| x.position); - let mut result = if path.global { + let mut result = if path.global && qself.is_none() { "::".to_owned() } else { String::new() @@ -48,6 +48,9 @@ pub fn rewrite_path(context: &RewriteContext, if skip_count > 0 { result.push_str(" as "); + if path.global { + result.push_str("::"); + } let extra_offset = extra_offset(&result, offset); // 3 = ">::".len() diff --git a/tests/target/associated-items.rs b/tests/target/associated-items.rs new file mode 100644 index 00000000000..1b0a828d029 --- /dev/null +++ b/tests/target/associated-items.rs @@ -0,0 +1,3 @@ +fn main() { + println!("{}", ::default()); +}