// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// Test case for issue 23434: Better synchronization of
// parser after missing type. There should be exactly
// one error each time, with now follow errors.

package p

func g() {
	m := make(map[string]! /* ERROR "expected type, found '!'" */ )
	for {
		x := 1
		print(x)
	}
}

func f() {
	m := make(map[string]) /* ERROR "expected type, found '\)'" */
	for {
		x := 1
		print(x)
	}
}
