Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-def/src/item_tree.rs')
-rw-r--r--crates/hir-def/src/item_tree.rs15
1 files changed, 11 insertions, 4 deletions
diff --git a/crates/hir-def/src/item_tree.rs b/crates/hir-def/src/item_tree.rs
index 4c812b62a4..3c4f21d5c6 100644
--- a/crates/hir-def/src/item_tree.rs
+++ b/crates/hir-def/src/item_tree.rs
@@ -613,10 +613,17 @@ pub struct Function {
pub(crate) flags: FnFlags,
}
-#[derive(Debug, Clone, Eq, PartialEq)]
-pub enum Param {
- Normal(Interned<TypeRef>),
- Varargs,
+#[derive(Debug, Clone, PartialEq, Eq)]
+pub struct Param {
+ /// This is [`None`] for varargs
+ pub type_ref: Option<Interned<TypeRef>>,
+ pub ast_id: ParamAstId,
+}
+
+#[derive(Debug, Clone, PartialEq, Eq)]
+pub enum ParamAstId {
+ Param(FileAstId<ast::Param>),
+ SelfParam(FileAstId<ast::SelfParam>),
}
bitflags::bitflags! {