pub struct ContAssignTemplate {
pub target: SymbolKey,
pub read_set: Vec<SymbolKey>,
pub is_output_port_connection: bool,
}Expand description
(NL-034, NL-035) A continuous assignment — either a real assign
statement in this Template’s own scope (is_output_port_connection == false, target/read_set both resolved within this SAME scope), or a
synthetic entry modeling one instance port connection at the PARENT
scope’s Template (LRM: “an instance port connection is, semantically,
a continuous assignment” — netlist-analysis.md Decision/§A.5): target
is then the CHILD port’s own SymbolKey (within the CHILD Template’s
numbering — the same key SubInstanceSlot::port_bindings’s first tuple
element uses for the identical port), read_set is the connection’s
bound expression’s read-set resolved at the PARENT scope
(exprwalk::expression_read_set), and is_output_port_connection
mirrors the child port’s own PortDecl.direction (true for Output,
false for Input/Inout — the field this task adds specifically so a
consumer can tell “a write INTO the child port” (input) apart from “a
write driven BY the child port” (output) without re-deriving direction a
second, independently-reasoned way).
Fields§
§target: SymbolKey§read_set: Vec<SymbolKey>§is_output_port_connection: boolTrait Implementations§
Source§impl Clone for ContAssignTemplate
impl Clone for ContAssignTemplate
Source§impl Debug for ContAssignTemplate
impl Debug for ContAssignTemplate
impl Eq for ContAssignTemplate
Source§impl PartialEq for ContAssignTemplate
impl PartialEq for ContAssignTemplate
impl StructuralPartialEq for ContAssignTemplate
Auto Trait Implementations§
impl Freeze for ContAssignTemplate
impl RefUnwindSafe for ContAssignTemplate
impl Send for ContAssignTemplate
impl Sync for ContAssignTemplate
impl Unpin for ContAssignTemplate
impl UnsafeUnpin for ContAssignTemplate
impl UnwindSafe for ContAssignTemplate
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.