From 84affc96d141b8cd1bc1342b75d7d99067f9d5b8 Mon Sep 17 00:00:00 2001 From: Gavin Nishizawa Date: Fri, 29 Sep 2023 16:21:36 -0700 Subject: [PATCH] add validation for sequence diagram edges to descendant --- d2compiler/compile.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/d2compiler/compile.go b/d2compiler/compile.go index d8f5f647a..8c24031a1 100644 --- a/d2compiler/compile.go +++ b/d2compiler/compile.go @@ -1102,6 +1102,14 @@ func (c *compiler) validateEdges(g *d2graph.Graph) { c.errorf(edge.GetAstEdge(), "edge from grid cell %#v cannot enter itself", edge.Dst.AbsID()) continue } + if edge.Src.IsSequenceDiagram() && edge.Dst.IsDescendantOf(edge.Src) { + c.errorf(edge.GetAstEdge(), "edge from sequence diagram %#v cannot enter itself", edge.Src.AbsID()) + continue + } + if edge.Dst.IsSequenceDiagram() && edge.Src.IsDescendantOf(edge.Dst) { + c.errorf(edge.GetAstEdge(), "edge from sequence diagram %#v cannot enter itself", edge.Dst.AbsID()) + continue + } } }