mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-27 12:29:21 +00:00
Have to_generic_args
return ast::GenericArgList
This commit is contained in:
parent
bfe6ec9b77
commit
1015a177d4
2 changed files with 30 additions and 14 deletions
|
@ -88,6 +88,9 @@ pub mod ext {
|
|||
block_expr(None, None)
|
||||
}
|
||||
|
||||
pub fn ty_name(name: ast::Name) -> ast::Type {
|
||||
ty_path(ident_path(&format!("{name}")))
|
||||
}
|
||||
pub fn ty_bool() -> ast::Type {
|
||||
ty_path(ident_path("bool"))
|
||||
}
|
||||
|
@ -160,6 +163,7 @@ pub fn assoc_item_list() -> ast::AssocItemList {
|
|||
ast_from_text("impl C for D {}")
|
||||
}
|
||||
|
||||
// FIXME: `ty_params` should be `ast::GenericArgList`
|
||||
pub fn impl_(
|
||||
ty: ast::Path,
|
||||
params: Option<ast::GenericParamList>,
|
||||
|
@ -185,10 +189,6 @@ pub fn impl_trait(
|
|||
ast_from_text(&format!("impl{ty_params} {trait_} for {ty}{ty_params} {{}}"))
|
||||
}
|
||||
|
||||
pub(crate) fn generic_arg_list() -> ast::GenericArgList {
|
||||
ast_from_text("const S: T<> = ();")
|
||||
}
|
||||
|
||||
pub fn path_segment(name_ref: ast::NameRef) -> ast::PathSegment {
|
||||
ast_from_text(&format!("type __ = {name_ref};"))
|
||||
}
|
||||
|
@ -718,6 +718,21 @@ pub fn generic_param_list(
|
|||
ast_from_text(&format!("fn f<{args}>() {{ }}"))
|
||||
}
|
||||
|
||||
pub fn type_arg(ty: ast::Type) -> ast::TypeArg {
|
||||
ast_from_text(&format!("const S: T<{ty}> = ();"))
|
||||
}
|
||||
|
||||
pub fn lifetime_arg(lifetime: ast::Lifetime) -> ast::LifetimeArg {
|
||||
ast_from_text(&format!("const S: T<{lifetime}> = ();"))
|
||||
}
|
||||
|
||||
pub(crate) fn generic_arg_list(
|
||||
args: impl IntoIterator<Item = ast::GenericArg>,
|
||||
) -> ast::GenericArgList {
|
||||
let args = args.into_iter().join(", ");
|
||||
ast_from_text(&format!("const S: T<{args}> = ();"))
|
||||
}
|
||||
|
||||
pub fn visibility_pub_crate() -> ast::Visibility {
|
||||
ast_from_text("pub(crate) struct S")
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue