Silk

silk/reflect

Profiles: aarch64-apple-darwin, aarch64-unknown-linux-gnu, aarch64-unknown-linux-gnu-no-libc, wasm32-unknown-unknown, x86_64-unknown-linux-gnu, x86_64-unknown-linux-gnu-no-libc.

Finite aggregate metadata available only during static evaluation.

Details

Reflection retains nominal owner and visible declaration order. Descriptors have no runtime representation and disappear before runtime HIR is published.

Import as Reflect with import silk.reflect { Reflect }.

Public declarations: 7.

namedKind

pub const namedKind: u8

Source-declared named aggregate kind returned by typeKind.

positionalKind

pub const positionalKind: u8

Source-declared positional aggregate kind returned by typeKind.

anonymousNamedKind

pub const anonymousNamedKind: u8

Occurrence-generated named aggregate kind returned by typeKind.

anonymousPositionalKind

pub const anonymousPositionalKind: u8

Occurrence-generated positional aggregate kind returned by typeKind.

labeledFieldKind

pub const labeledFieldKind: u8

Labeled member kind returned by fieldKind.

positionalFieldKind

pub const positionalFieldKind: u8

Positional member kind returned by fieldKind.

Reflect

pub struct Reflect

The scope for Reflect operations.

Details

This owner carries no data. Select it with import silk.reflect { Reflect } to access its inherent operations.

Associated function Reflect.typeOf

pub static fn typeOf<Owner>() -> Intrinsic.Type<Owner>

Returns the canonical aggregate type descriptor for Owner.

Associated function Reflect.fields

pub static fn fields<Owner>() -> Intrinsic.Fields<Owner>

Returns declaration-ordered descriptors for fields visible from this wrapper.

Associated function Reflect.typeKind

pub static fn typeKind<Owner>(static descriptor: Intrinsic.Type<Owner>) -> u8

Returns the stable aggregate-kind code for descriptor.

Associated function Reflect.fieldKind

pub static fn fieldKind<Owner, Value>(static field: Intrinsic.Field<Owner, Value>) -> u8

Returns whether field carries a label or a position.

Associated function Reflect.fieldLabel

pub static fn fieldLabel<Owner, Value>(static field: Intrinsic.Field<Owner, Value>) -> string<'static>

Returns the source label of a labeled field.

Associated function Reflect.fieldOrdinal

pub static fn fieldOrdinal<Owner, Value>(static field: Intrinsic.Field<Owner, Value>) -> usize

Returns the source position of a positional field.

Associated function Reflect.borrowField

pub fn borrowField<Owner, Value, 'life2>(owner: &'life2 Owner, static field: Intrinsic.Field<Owner, Value>) -> &'life2 Value

Borrows exactly the runtime field authorized by one static descriptor.

On this page