pub struct MemberLists {
pub properties: Vec<String>,
pub fields: Vec<String>,
pub extension_methods: Vec<(String, String, usize, i64)>,
pub bases: Vec<String>,
pub type_params: Vec<String>,
pub base_generic_args: Vec<(String, Vec<String>)>,
pub method_returns: OrderedMap<String>,
pub property_types: OrderedMap<FragFact>,
}Expand description
The non-method halves of a def’s member surface. methods stays on Def
(it IS serialized).
Fields§
§properties: Vec<String>The properties value.
fields: Vec<String>The fields value.
extension_methods: Vec<(String, String, usize, i64)>Kept here for the same reason as properties/fields: a resolution
input, never a serialized def field. Holds the (name, this_type,
arity_min, arity_max) QUADRUPLES this def has already contributed, so a
partial class re-declaring one of its own entries in a second file can
never push the def into its own extension bucket twice and make itself
look like two candidates.
bases: Vec<String>DIRECT base-type names, unioned across a partial class’s declarations, resolved LAZILY by the veto walk.
type_params: Vec<String>The declaring type’s own type-parameter names (empty for a non-generic
declaration). A resolution input, like bases: the ctor-DI resolver’s
“is this def itself an open-generic implementation” signal. First
declaration wins, like namespace/kind – not unioned across a partial
class the way bases is.
base_generic_args: Vec<(String, Vec<String>)>Per base name that carried a type-argument list, that list’s generic-arg
descriptors relative to type_params. First declaration wins, same as
type_params.
method_returns: OrderedMap<String>Method name -> declared return type NAME, the fact that turns a
var x = Q.M(...) local into an ordinary receiver. A partial class’s
later parts contribute the names the first part did not answer; a name it
already answered keeps its answer.
property_types: OrderedMap<FragFact>Property name -> declared type fact, the second half of a property hop.
Merged across a partial class exactly like method_returns.
Trait Implementations§
Source§impl Default for MemberLists
impl Default for MemberLists
Source§fn default() -> MemberLists
fn default() -> MemberLists
Auto Trait Implementations§
impl Freeze for MemberLists
impl RefUnwindSafe for MemberLists
impl Send for MemberLists
impl Sync for MemberLists
impl Unpin for MemberLists
impl UnsafeUnpin for MemberLists
impl UnwindSafe for MemberLists
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more