mirror of
https://github.com/golang/go
synced 2024-11-02 09:28:34 +00:00
9e6b1fcd0a
Invalid constant was already reported by noder, so don't re-check in typecheck, which lead to compiler crashing. Updates #43311 Change-Id: I48e2f540601cef725c1ff628c066ed15d848e771 Reviewed-on: https://go-review.googlesource.com/c/go/+/298713 Trust: Cuong Manh Le <cuong.manhle.vn@gmail.com> Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
28 lines
822 B
Go
28 lines
822 B
Go
// errorcheck -d=panic
|
|
|
|
// Copyright 2009 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.
|
|
|
|
// Verify that illegal character literals are detected.
|
|
// Does not compile.
|
|
|
|
package main
|
|
|
|
const (
|
|
// check that surrogate pair elements are invalid
|
|
// (d800-dbff, dc00-dfff).
|
|
_ = '\ud7ff' // ok
|
|
_ = '\ud800' // ERROR "Unicode|unicode"
|
|
_ = "\U0000D999" // ERROR "Unicode|unicode"
|
|
_ = '\udc01' // ERROR "Unicode|unicode"
|
|
_ = '\U0000dddd' // ERROR "Unicode|unicode"
|
|
_ = '\udfff' // ERROR "Unicode|unicode"
|
|
_ = '\ue000' // ok
|
|
_ = '\U0010ffff' // ok
|
|
_ = '\U00110000' // ERROR "Unicode|unicode"
|
|
_ = "abc\U0010ffffdef" // ok
|
|
_ = "abc\U00110000def" // ERROR "Unicode|unicode"
|
|
_ = '\Uffffffff' // ERROR "Unicode|unicode"
|
|
)
|
|
|