blob: 489744b6e9888c733d05fa84baa34bbce2f48a1e [file] [log] [blame]
Russ Cox0b477ef2012-02-16 23:48:57 -05001// errorcheck
Russ Cox6cd85372010-06-10 13:30:39 -07002
3// Copyright 2009 The Go Authors. All rights reserved.
4// Use of this source code is governed by a BSD-style
5// license that can be found in the LICENSE file.
6
Rob Pikefc0dc042012-02-19 13:19:43 +11007// Verify that illegal character literals are detected.
8// Does not compile.
9
Russ Cox6cd85372010-06-10 13:30:39 -070010package main
11
12const (
13 // check that surrogate pair elements are invalid
14 // (d800-dbff, dc00-dfff).
15 _ = '\ud7ff' // ok
Ian Lance Taylor472cd3a2010-08-31 11:43:52 -070016 _ = '\ud800' // ERROR "Unicode|unicode"
17 _ = "\U0000D999" // ERROR "Unicode|unicode"
18 _ = '\udc01' // ERROR "Unicode|unicode"
19 _ = '\U0000dddd' // ERROR "Unicode|unicode"
20 _ = '\udfff' // ERROR "Unicode|unicode"
Russ Cox6cd85372010-06-10 13:30:39 -070021 _ = '\ue000' // ok
22 _ = '\U0010ffff' // ok
Ian Lance Taylor472cd3a2010-08-31 11:43:52 -070023 _ = '\U00110000' // ERROR "Unicode|unicode"
Russ Cox6cd85372010-06-10 13:30:39 -070024 _ = "abc\U0010ffffdef" // ok
Ian Lance Taylor472cd3a2010-08-31 11:43:52 -070025 _ = "abc\U00110000def" // ERROR "Unicode|unicode"
26 _ = '\Uffffffff' // ERROR "Unicode|unicode"
Russ Cox6cd85372010-06-10 13:30:39 -070027)
28