Unnamed repository; edit this file 'description' to name the repository.
-rw-r--r--crates/ide-db/src/source_change.rs2
-rw-r--r--crates/syntax/src/lib.rs4
-rw-r--r--crates/syntax/src/ptr.rs4
3 files changed, 5 insertions, 5 deletions
diff --git a/crates/ide-db/src/source_change.rs b/crates/ide-db/src/source_change.rs
index 29a454bf7a..3c5f703712 100644
--- a/crates/ide-db/src/source_change.rs
+++ b/crates/ide-db/src/source_change.rs
@@ -1,7 +1,7 @@
//! This modules defines type to represent changes to the source code, that flow
//! from the server to the client.
//!
-//! It can be viewed as a dual for `Change`.
+//! It can be viewed as a dual for [`Change`][vfs::Change].
use std::{collections::hash_map::Entry, fmt, iter, mem};
diff --git a/crates/syntax/src/lib.rs b/crates/syntax/src/lib.rs
index c510b2831e..cda3e69b7c 100644
--- a/crates/syntax/src/lib.rs
+++ b/crates/syntax/src/lib.rs
@@ -10,8 +10,8 @@
//! the [Swift] one.
//!
//! The most interesting modules here are `syntax_node` (which defines concrete
-//! syntax tree) and `ast` (which defines abstract syntax tree on top of the
-//! CST). The actual parser live in a separate `parser` crate, though the
+//! syntax tree) and [`ast`] (which defines abstract syntax tree on top of the
+//! CST). The actual parser live in a separate [`parser`] crate, though the
//! lexer lives in this crate.
//!
//! See `api_walkthrough` test in this file for a quick API tour!
diff --git a/crates/syntax/src/ptr.rs b/crates/syntax/src/ptr.rs
index c4979b8e3a..ed8a68fb8a 100644
--- a/crates/syntax/src/ptr.rs
+++ b/crates/syntax/src/ptr.rs
@@ -21,7 +21,7 @@ use crate::{AstNode, SyntaxNode, syntax_node::RustLanguage};
/// A "pointer" to a [`SyntaxNode`], via location in the source code.
pub type SyntaxNodePtr = rowan::ast::SyntaxNodePtr<RustLanguage>;
-/// Like `SyntaxNodePtr`, but remembers the type of node.
+/// Like [`SyntaxNodePtr`], but remembers the type of node.
pub struct AstPtr<N: AstNode> {
raw: SyntaxNodePtr,
_ty: PhantomData<fn() -> N>,
@@ -90,7 +90,7 @@ impl<N: AstNode> AstPtr<N> {
AstPtr { raw: self.raw, _ty: PhantomData }
}
- /// Like `SyntaxNodePtr::cast` but the trait bounds work out.
+ /// Like [`SyntaxNodePtr::cast`] but the trait bounds work out.
pub fn try_from_raw(raw: SyntaxNodePtr) -> Option<AstPtr<N>> {
N::can_cast(raw.kind()).then_some(AstPtr { raw, _ty: PhantomData })
}