cue/parser: allow pattern constraints unconditionally

This was a temporary measure that was reverted.
This check should have been removed earlier.

Change-Id: I6a0d19fb3d59463d87d303457fc081f9def17c9b
Reviewed-on: https://cue-review.googlesource.com/c/cue/+/9685
Reviewed-by: Paul Jolly <paul@myitcv.org.uk>
diff --git a/cue/parser/parser.go b/cue/parser/parser.go
index 48d21be..6a852a2 100644
--- a/cue/parser/parser.go
+++ b/cue/parser/parser.go
@@ -24,7 +24,6 @@
 	"cuelang.org/go/cue/literal"
 	"cuelang.org/go/cue/scanner"
 	"cuelang.org/go/cue/token"
-	"cuelang.org/go/internal"
 	"cuelang.org/go/internal/astinternal"
 )
 
@@ -756,15 +755,6 @@
 		// and we have eliminated the need comment positions.
 	}
 
-	if len(list) > 1 {
-		for _, d := range list {
-			if internal.IsBulkField(d) {
-				p.assertV0(p.pos, 2, 0, `combining bulk optional fields with other fields`)
-				break
-			}
-		}
-	}
-
 	return
 }
 
diff --git a/cue/parser/parser_test.go b/cue/parser/parser_test.go
index 36d0f7b..d07d166 100644
--- a/cue/parser/parser_test.go
+++ b/cue/parser/parser_test.go
@@ -658,11 +658,6 @@
 			`a b c: 2`},
 		{"reserved identifiers",
 			`__foo: 3`},
-		{"bulk optional fields",
-			`a: {
-			foo: "bar"
-			[string]: string
-		}`},
 	}
 	for _, tc := range testCases {
 		t.Run(tc.desc, func(t *testing.T) {