pub struct PortDecl {
pub key: SymbolKey,
pub name: String,
pub direction: PortDirection,
pub bits: u32,
}Expand description
(NL-122) A module/program/interface port’s own declaration — direction, resolved width, declaration order — populated purely from the module’s own header, independent of whether/how any particular instantiation site connects it (distinct from port connection resolution, NL-035, which is Task 7’s job).
Fields§
§key: SymbolKey(Task 7 addition, documented deviation from Task 5’s original
shape — needed once port connections become synthetic
ContAssignTemplate/SubInstanceSlot::port_bindings entries
addressed BY this port’s own SymbolKey, ledger NL-035/NL-121: a
Port member occupies a real position in its owning scope’s
members() enumeration exactly like a SignalDecl/MemoryDecl
does, but nothing before this task ever recorded it.) Same
position-based numbering build_members’s own scope.members(). enumerate() walk assigns everything else.
name: String§direction: PortDirection§bits: u32Trait Implementations§
impl Eq for PortDecl
impl StructuralPartialEq for PortDecl
Auto Trait Implementations§
impl Freeze for PortDecl
impl RefUnwindSafe for PortDecl
impl Send for PortDecl
impl Sync for PortDecl
impl Unpin for PortDecl
impl UnsafeUnpin for PortDecl
impl UnwindSafe for PortDecl
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.