diff options
author | Zac Pullar-Strecker <[email protected]> | 2020-09-03 08:55:24 +0100 |
---|---|---|
committer | Zac Pullar-Strecker <[email protected]> | 2020-10-08 03:04:21 +0100 |
commit | c648884397bfdb779c447fa31964dc1fce94bd95 (patch) | |
tree | 276467ffe91360d31f285ce04bf16c0753c61a10 /crates/hir_def/src/item_tree | |
parent | 62b76e7004bc215a375e41bd204b2eab5acdf9c2 (diff) |
Differentiate method/tymethod by determining 'defaultness'
Currently a method only has defaultness if it is a provided trait
method, but this will change when specialisation is available and may
need to become a concept known to hir.
I opted to go for a 'fewest changes' approach given specialisation is
still under development.
Diffstat (limited to 'crates/hir_def/src/item_tree')
-rw-r--r-- | crates/hir_def/src/item_tree/lower.rs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/crates/hir_def/src/item_tree/lower.rs b/crates/hir_def/src/item_tree/lower.rs index 54814f141..3328639cf 100644 --- a/crates/hir_def/src/item_tree/lower.rs +++ b/crates/hir_def/src/item_tree/lower.rs | |||
@@ -330,12 +330,15 @@ impl Ctx { | |||
330 | ret_type | 330 | ret_type |
331 | }; | 331 | }; |
332 | 332 | ||
333 | let has_body = func.body().is_some(); | ||
334 | |||
333 | let ast_id = self.source_ast_id_map.ast_id(func); | 335 | let ast_id = self.source_ast_id_map.ast_id(func); |
334 | let mut res = Function { | 336 | let mut res = Function { |
335 | name, | 337 | name, |
336 | visibility, | 338 | visibility, |
337 | generic_params: GenericParamsId::EMPTY, | 339 | generic_params: GenericParamsId::EMPTY, |
338 | has_self_param, | 340 | has_self_param, |
341 | has_body, | ||
339 | is_unsafe: func.unsafe_token().is_some(), | 342 | is_unsafe: func.unsafe_token().is_some(), |
340 | params: params.into_boxed_slice(), | 343 | params: params.into_boxed_slice(), |
341 | is_varargs, | 344 | is_varargs, |