The rewritten location of the :: on global paths for qpaths was wrong.
-> Option<String> {
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()
if skip_count > 0 {
result.push_str(" as ");
+ if path.global {
+ result.push_str("::");
+ }
let extra_offset = extra_offset(&result, offset);
// 3 = ">::".len()
--- /dev/null
+fn main() {
+ println!("{}", <bool as ::std::default::Default>::default());
+}