diff options
| author | Nicholas Nethercote <n.nethercote@gmail.com> | 2025-04-11 06:28:59 +1000 |
|---|---|---|
| committer | Nicholas Nethercote <n.nethercote@gmail.com> | 2025-04-14 16:13:04 +1000 |
| commit | d891f77363a7e5e911dd570a03691d3195343044 (patch) | |
| tree | d2e96f068df4d6b3cc4504ba897a1a91d4bee839 /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp | |
| parent | e6dc2e9be026e9d26296a51e496d1b25b5e0721e (diff) | |
| download | rust-d891f77363a7e5e911dd570a03691d3195343044.tar.gz rust-d891f77363a7e5e911dd570a03691d3195343044.zip | |
Move `has_self` field to `hir::AssocKind::Fn`.
`hir::AssocItem` currently has a boolean `fn_has_self_parameter` field, which is misplaced, because it's only relevant for associated fns, not for associated consts or types. This commit moves it (and renames it) to the `AssocKind::Fn` variant, where it belongs. This requires introducing a new C-style enum, `AssocTag`, which is like `AssocKind` but without the fields. This is because `AssocKind` values are passed to various functions like `find_by_ident_and_kind` to indicate what kind of associated item should be searched for, and having to specify `has_self` isn't relevant there. New methods: - Predicates `AssocItem::is_fn` and `AssocItem::is_method`. - `AssocItem::as_tag` which converts `AssocItem::kind` to `AssocTag`. Removed `find_by_name_and_kinds`, which is unused. `AssocItem::descr` can now distinguish between methods and associated functions, which slightly improves some error messages.
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
