mirror of
https://github.com/salsa-rs/salsa.git
synced 2025-02-02 17:52:19 +00:00
Use visibility of field
in SalsaField
in #[salsa::interned]
getters
This commit is contained in:
parent
3df74dc0ac
commit
55f20344d1
1 changed files with 3 additions and 2 deletions
|
@ -90,10 +90,11 @@ impl InternedStruct {
|
||||||
.map(|field| {
|
.map(|field| {
|
||||||
let field_name = field.name();
|
let field_name = field.name();
|
||||||
let field_ty = field.ty();
|
let field_ty = field.ty();
|
||||||
|
let field_vis = field.vis();
|
||||||
let field_get_name = field.get_name();
|
let field_get_name = field.get_name();
|
||||||
if field.is_clone_field() {
|
if field.is_clone_field() {
|
||||||
parse_quote! {
|
parse_quote! {
|
||||||
#vis fn #field_get_name(self, db: &#db_dyn_ty) -> #field_ty {
|
#field_vis fn #field_get_name(self, db: &#db_dyn_ty) -> #field_ty {
|
||||||
let (jar, runtime) = <_ as salsa::storage::HasJar<#jar_ty>>::jar(db);
|
let (jar, runtime) = <_ as salsa::storage::HasJar<#jar_ty>>::jar(db);
|
||||||
let ingredients = <#jar_ty as salsa::storage::HasIngredientsFor< #id_ident >>::ingredient(jar);
|
let ingredients = <#jar_ty as salsa::storage::HasIngredientsFor< #id_ident >>::ingredient(jar);
|
||||||
std::clone::Clone::clone(&ingredients.data(runtime, self).#field_name)
|
std::clone::Clone::clone(&ingredients.data(runtime, self).#field_name)
|
||||||
|
@ -101,7 +102,7 @@ impl InternedStruct {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
parse_quote! {
|
parse_quote! {
|
||||||
#vis fn #field_get_name<'db>(self, db: &'db #db_dyn_ty) -> &'db #field_ty {
|
#field_vis fn #field_get_name<'db>(self, db: &'db #db_dyn_ty) -> &'db #field_ty {
|
||||||
let (jar, runtime) = <_ as salsa::storage::HasJar<#jar_ty>>::jar(db);
|
let (jar, runtime) = <_ as salsa::storage::HasJar<#jar_ty>>::jar(db);
|
||||||
let ingredients = <#jar_ty as salsa::storage::HasIngredientsFor< #id_ident >>::ingredient(jar);
|
let ingredients = <#jar_ty as salsa::storage::HasIngredientsFor< #id_ident >>::ingredient(jar);
|
||||||
&ingredients.data(runtime, self).#field_name
|
&ingredients.data(runtime, self).#field_name
|
||||||
|
|
Loading…
Reference in a new issue