diff --git a/cmd/cue/cmd/common.go b/cmd/cue/cmd/common.go index abbd479af..b099b3ae9 100644 --- a/cmd/cue/cmd/common.go +++ b/cmd/cue/cmd/common.go @@ -607,6 +607,11 @@ func parseArgs(cmd *Command, args []string, cfg *config) (p *buildPlan, err erro "-d/--schema flag specified without a schema") } + if p.schema != nil && len(values) == 0 { + return nil, errors.Newf(token.NoPos, + "-d/--schema flag requires non-CUE input files") + } + switch { default: fallthrough diff --git a/cmd/cue/cmd/testdata/script/def_issue4350.txtar b/cmd/cue/cmd/testdata/script/def_issue4350.txtar index de42a6b7a..5060a084c 100644 --- a/cmd/cue/cmd/testdata/script/def_issue4350.txtar +++ b/cmd/cue/cmd/testdata/script/def_issue4350.txtar @@ -6,8 +6,8 @@ cmp stdout def.stdout exec cue def -e '#Schema' in.cue cmp stdout def-e.stdout -exec cue def -d '#Schema' in.cue -cmp stdout def-d.stdout +! exec cue def -d '#Schema' in.cue +cmp stderr def-d.stderr -- in.cue -- #Schema: { @@ -26,8 +26,5 @@ _#def: { a?: string b?: b2?: string } --- def-d.stdout -- -#Schema: { - a?: string - b?: b2?: string -} +-- def-d.stderr -- +-d/--schema flag requires non-CUE input files