Use $crate instead of std for panic builtin_fn_macro
This should be closer to the expected output and gets rid of a few type mismatches in rustc/library
This commit is contained in:
parent
870825b376
commit
1574fe0d54
@ -93,12 +93,12 @@ macro_rules! option_env {() => {}}
|
|||||||
|
|
||||||
fn main() { option_env!("TEST_ENV_VAR"); }
|
fn main() { option_env!("TEST_ENV_VAR"); }
|
||||||
"#,
|
"#,
|
||||||
expect![[r##"
|
expect![[r#"
|
||||||
#[rustc_builtin_macro]
|
#[rustc_builtin_macro]
|
||||||
macro_rules! option_env {() => {}}
|
macro_rules! option_env {() => {}}
|
||||||
|
|
||||||
fn main() { std::option::Option::None:: < &str>; }
|
fn main() { $crate::option::Option::None:: < &str>; }
|
||||||
"##]],
|
"#]],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -191,7 +191,7 @@ fn main() {
|
|||||||
format_args!("{} {:?}", arg1(a, b, c), arg2);
|
format_args!("{} {:?}", arg1(a, b, c), arg2);
|
||||||
}
|
}
|
||||||
"#,
|
"#,
|
||||||
expect![[r##"
|
expect![[r#"
|
||||||
#[rustc_builtin_macro]
|
#[rustc_builtin_macro]
|
||||||
macro_rules! format_args {
|
macro_rules! format_args {
|
||||||
($fmt:expr) => ({ /* compiler built-in */ });
|
($fmt:expr) => ({ /* compiler built-in */ });
|
||||||
@ -199,9 +199,9 @@ macro_rules! format_args {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
std::fmt::Arguments::new_v1(&[], &[std::fmt::ArgumentV1::new(&(arg1(a, b, c)), std::fmt::Display::fmt), std::fmt::ArgumentV1::new(&(arg2), std::fmt::Display::fmt), ]);
|
$crate::fmt::Arguments::new_v1(&[], &[$crate::fmt::ArgumentV1::new(&(arg1(a, b, c)), $crate::fmt::Display::fmt), $crate::fmt::ArgumentV1::new(&(arg2), $crate::fmt::Display::fmt), ]);
|
||||||
}
|
}
|
||||||
"##]],
|
"#]],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -219,7 +219,7 @@ fn main() {
|
|||||||
format_args!("{} {:?}", a::<A,B>(), b);
|
format_args!("{} {:?}", a::<A,B>(), b);
|
||||||
}
|
}
|
||||||
"#,
|
"#,
|
||||||
expect![[r##"
|
expect![[r#"
|
||||||
#[rustc_builtin_macro]
|
#[rustc_builtin_macro]
|
||||||
macro_rules! format_args {
|
macro_rules! format_args {
|
||||||
($fmt:expr) => ({ /* compiler built-in */ });
|
($fmt:expr) => ({ /* compiler built-in */ });
|
||||||
@ -227,9 +227,9 @@ macro_rules! format_args {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
std::fmt::Arguments::new_v1(&[], &[std::fmt::ArgumentV1::new(&(a::<A, B>()), std::fmt::Display::fmt), std::fmt::ArgumentV1::new(&(b), std::fmt::Display::fmt), ]);
|
$crate::fmt::Arguments::new_v1(&[], &[$crate::fmt::ArgumentV1::new(&(a::<A, B>()), $crate::fmt::Display::fmt), $crate::fmt::ArgumentV1::new(&(b), $crate::fmt::Display::fmt), ]);
|
||||||
}
|
}
|
||||||
"##]],
|
"#]],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -248,7 +248,7 @@ fn main() {
|
|||||||
format_args!/*+errors*/("{} {:?}", a.);
|
format_args!/*+errors*/("{} {:?}", a.);
|
||||||
}
|
}
|
||||||
"#,
|
"#,
|
||||||
expect![[r##"
|
expect![[r#"
|
||||||
#[rustc_builtin_macro]
|
#[rustc_builtin_macro]
|
||||||
macro_rules! format_args {
|
macro_rules! format_args {
|
||||||
($fmt:expr) => ({ /* compiler built-in */ });
|
($fmt:expr) => ({ /* compiler built-in */ });
|
||||||
@ -258,9 +258,9 @@ macro_rules! format_args {
|
|||||||
fn main() {
|
fn main() {
|
||||||
let _ =
|
let _ =
|
||||||
/* parse error: expected field name or number */
|
/* parse error: expected field name or number */
|
||||||
std::fmt::Arguments::new_v1(&[], &[std::fmt::ArgumentV1::new(&(a.), std::fmt::Display::fmt), ]);
|
$crate::fmt::Arguments::new_v1(&[], &[$crate::fmt::ArgumentV1::new(&(a.), $crate::fmt::Display::fmt), ]);
|
||||||
}
|
}
|
||||||
"##]],
|
"#]],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -238,9 +238,9 @@ fn format_args_expand(
|
|||||||
) -> ExpandResult<tt::Subtree> {
|
) -> ExpandResult<tt::Subtree> {
|
||||||
// We expand `format_args!("", a1, a2)` to
|
// We expand `format_args!("", a1, a2)` to
|
||||||
// ```
|
// ```
|
||||||
// std::fmt::Arguments::new_v1(&[], &[
|
// $crate::fmt::Arguments::new_v1(&[], &[
|
||||||
// std::fmt::ArgumentV1::new(&arg1,std::fmt::Display::fmt),
|
// $crate::fmt::ArgumentV1::new(&arg1,$crate::fmt::Display::fmt),
|
||||||
// std::fmt::ArgumentV1::new(&arg2,std::fmt::Display::fmt),
|
// $crate::fmt::ArgumentV1::new(&arg2,$crate::fmt::Display::fmt),
|
||||||
// ])
|
// ])
|
||||||
// ```,
|
// ```,
|
||||||
// which is still not really correct, but close enough for now
|
// which is still not really correct, but close enough for now
|
||||||
@ -262,10 +262,10 @@ fn format_args_expand(
|
|||||||
}
|
}
|
||||||
let _format_string = args.remove(0);
|
let _format_string = args.remove(0);
|
||||||
let arg_tts = args.into_iter().flat_map(|arg| {
|
let arg_tts = args.into_iter().flat_map(|arg| {
|
||||||
quote! { std::fmt::ArgumentV1::new(&(#arg), std::fmt::Display::fmt), }
|
quote! { #DOLLAR_CRATE::fmt::ArgumentV1::new(&(#arg), #DOLLAR_CRATE::fmt::Display::fmt), }
|
||||||
}.token_trees);
|
}.token_trees);
|
||||||
let expanded = quote! {
|
let expanded = quote! {
|
||||||
std::fmt::Arguments::new_v1(&[], &[##arg_tts])
|
#DOLLAR_CRATE::fmt::Arguments::new_v1(&[], &[##arg_tts])
|
||||||
};
|
};
|
||||||
ExpandResult::ok(expanded)
|
ExpandResult::ok(expanded)
|
||||||
}
|
}
|
||||||
@ -675,8 +675,8 @@ fn option_env_expand(
|
|||||||
};
|
};
|
||||||
|
|
||||||
let expanded = match get_env_inner(db, arg_id, &key) {
|
let expanded = match get_env_inner(db, arg_id, &key) {
|
||||||
None => quote! { std::option::Option::None::<&str> },
|
None => quote! { #DOLLAR_CRATE::option::Option::None::<&str> },
|
||||||
Some(s) => quote! { std::option::Some(#s) },
|
Some(s) => quote! { #DOLLAR_CRATE::option::Some(#s) },
|
||||||
};
|
};
|
||||||
|
|
||||||
ExpandResult::ok(ExpandedEager::new(expanded))
|
ExpandResult::ok(ExpandedEager::new(expanded))
|
||||||
|
Loading…
Reference in New Issue
Block a user