pub(super) fn edge_to_conditional_link(
        &self,
        source_ix: NodeIndex<FeatureIx>,
        target_ix: NodeIndex<FeatureIx>,
        edge_ix: EdgeIndex<FeatureIx>,
        edge: Option<&'g FeatureEdge>,
    ) -> Option<(ConditionalLink<'g>, Option<WeakIndex>)> {
        let edge = edge.unwrap_or_else(|| &self.dep_graph()[edge_ix]);

        match edge {
            FeatureEdge::NamedFeature | FeatureEdge::FeatureToBase => None,
            FeatureEdge::DependenciesSection(link) | FeatureEdge::NamedFeatureDepColon(link) => {
                let link = ConditionalLink::new(*self, source_ix, target_ix, edge_ix, link);
                // Dependency section and dep:foo style conditional links are always non-weak.
                let weak_index = None;
                Some((link, weak_index))
            }
            FeatureEdge::NamedFeatureWithSlash { link, weak_index } => {
                let link = ConditionalLink::new(*self, source_ix, target_ix, edge_ix, link);
                Some((link, *weak_index))
            }
        }
    }
If this is a conditional edge, return the conditional link. Otherwise, return None.
guppy/src/graph/feature/graph_impl.rs