Unnamed repository; edit this file 'description' to name the repository.
add mapping to impl_trait_type syntax_factory constructor method
bit-aloo 2 months ago
parent 9ba3f27 · commit b84d131
-rw-r--r--crates/syntax/src/ast/syntax_factory/constructors.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/crates/syntax/src/ast/syntax_factory/constructors.rs b/crates/syntax/src/ast/syntax_factory/constructors.rs
index 241148d900..86fc7f0fdc 100644
--- a/crates/syntax/src/ast/syntax_factory/constructors.rs
+++ b/crates/syntax/src/ast/syntax_factory/constructors.rs
@@ -271,7 +271,16 @@ impl SyntaxFactory {
}
pub fn impl_trait_type(&self, bounds: ast::TypeBoundList) -> ast::ImplTraitType {
- make::impl_trait_type(bounds).clone_for_update()
+ let ast = make::impl_trait_type(bounds.clone()).clone_for_update();
+
+ if let Some(mut mapping) = self.mappings() {
+ let mut builder = SyntaxMappingBuilder::new(ast.syntax().clone());
+ builder
+ .map_node(bounds.syntax().clone(), ast.type_bound_list().unwrap().syntax().clone());
+ builder.finish(&mut mapping);
+ }
+
+ ast
}
pub fn expr_field(&self, receiver: ast::Expr, field: &str) -> ast::FieldExpr {