diff --git a/d2compiler/compile.go b/d2compiler/compile.go index 8cc6452a7..7bed57db9 100644 --- a/d2compiler/compile.go +++ b/d2compiler/compile.go @@ -678,6 +678,10 @@ func (c *compiler) validateNear(g *d2graph.Graph) { c.errorf(obj.Attributes.NearKey, "near keys cannot be set to an descendant") continue } + if nearObj.OuterSequenceDiagram() != nil { + c.errorf(obj.Attributes.NearKey, "near keys cannot be set to an object within sequence diagrams") + continue + } } else if isConst { is := false for _, e := range g.Edges { diff --git a/d2compiler/compile_test.go b/d2compiler/compile_test.go index 8a8bb33c3..1347435c4 100644 --- a/d2compiler/compile_test.go +++ b/d2compiler/compile_test.go @@ -1774,6 +1774,17 @@ dst.id <-> src.dst_id assert.String(t, "sequence_diagram", g.Objects[0].Attributes.Shape.Value) }, }, + { + name: "near_sequence", + + text: `x: { + shape: sequence_diagram + a +} +b.near: x.a +`, + expErr: `d2/testdata/d2compiler/TestCompile/near_sequence.d2:5:9: near keys cannot be set to an object within sequence diagrams`, + }, { name: "sequence-timestamp",