s.op, s.prec = Or, precAdd
goto assignop
- case '~':
- s.error("bitwise complement operator is ^")
- fallthrough
-
case '^':
s.op, s.prec = Xor, precAdd
c = s.getr()
{"\U0001d7d8" /* 𝟘 */, "identifier cannot begin with digit U+1D7D8 '𝟘'", 0, 0},
{"foo\U0001d7d8_½" /* foo𝟘_½ */, "invalid identifier character U+00BD '½'", 0, 8 /* byte offset */},
- {"x + ~y", "bitwise complement operator is ^", 0, 4},
+ {"x + ~y", "invalid character U+007E '~'", 0, 4},
{"foo$bar = 0", "invalid character U+0024 '$'", 0, 3},
{"const x = 0xyz", "malformed hex constant", 0, 12},
{"0123456789", "malformed octal constant", 0, 10},
--- /dev/null
+// errorcheck
+
+// 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.
+
+package p
+
+func f(x int) {
+ _ = ~x // ERROR "invalid character"
+ _ = x ~ x // ERROR "invalid character" "unexpected x at end of statement"
+}