diff options
author | Russ Cox <rsc@golang.org> | 2009-02-11 17:55:16 -0800 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2009-02-11 17:55:16 -0800 |
commit | 70b2d809ec1f10ee5cebbf96c57bbb2d3a604b40 (patch) | |
tree | 3a27c60cd93482129d8beda588d769a2d7868d4d /test/ken | |
parent | 47cebf94596af35b46ae2d1d3c973b17dcc603a4 (diff) | |
download | go-70b2d809ec1f10ee5cebbf96c57bbb2d3a604b40.tar.gz |
insert type assertions when narrowing.
R=r
OCL=24349
CL=24913
Diffstat (limited to 'test/ken')
-rw-r--r-- | test/ken/embed.go | 2 | ||||
-rw-r--r-- | test/ken/interbasic.go | 24 | ||||
-rw-r--r-- | test/ken/interfun.go | 6 |
3 files changed, 16 insertions, 16 deletions
diff --git a/test/ken/embed.go b/test/ken/embed.go index f0c9f4ec2..8f4641e81 100644 --- a/test/ken/embed.go +++ b/test/ken/embed.go @@ -214,7 +214,7 @@ main() // run it thru an interface i = s; - s = i; + s = i.(*S); // same as t3 if s.test1() != s.a1 { panicln("t4", 1) } diff --git a/test/ken/interbasic.go b/test/ken/interbasic.go index 05eea395b..c6b982fe1 100644 --- a/test/ken/interbasic.go +++ b/test/ken/interbasic.go @@ -85,21 +85,21 @@ main() u32 = 4455; ia[11] = u32; u64 = 765432; ia[12] = u64; - s = ia[0]; if s != "xxx" { panicln(0,s); } + s = ia[0].(string); if s != "xxx" { panicln(0,s); } i32 = int32(ia[1].(int)); if i32 != 12345 { panicln(1,i32); } - b = ia[2]; if b != true { panicln(2,b); } + b = ia[2].(bool); if b != true { panicln(2,b); } - s = ia[3]; if s != "now is" { panicln(3,s); } - b = ia[4]; if b != false { panicln(4,b); } + s = ia[3].(string); if s != "now is" { panicln(3,s); } + b = ia[4].(bool); if b != false { panicln(4,b); } - i8 = ia[5]; if i8 != 29 { panicln(5,i8); } - i16 = ia[6]; if i16 != 994 { panicln(6,i16); } - i32 = ia[7]; if i32 != 3434 { panicln(7,i32); } - i64 = ia[8]; if i64 != 1234567 { panicln(8,i64); } + i8 = ia[5].(int8); if i8 != 29 { panicln(5,i8); } + i16 = ia[6].(int16); if i16 != 994 { panicln(6,i16); } + i32 = ia[7].(int32); if i32 != 3434 { panicln(7,i32); } + i64 = ia[8].(int64); if i64 != 1234567 { panicln(8,i64); } - u8 = ia[9]; if u8 != 12 { panicln(5,u8); } - u16 = ia[10]; if u16 != 799 { panicln(6,u16); } - u32 = ia[11]; if u32 != 4455 { panicln(7,u32); } - u64 = ia[12]; if u64 != 765432 { panicln(8,u64); } + u8 = ia[9].(uint8); if u8 != 12 { panicln(5,u8); } + u16 = ia[10].(uint16); if u16 != 799 { panicln(6,u16); } + u32 = ia[11].(uint32); if u32 != 4455 { panicln(7,u32); } + u64 = ia[12].(uint64); if u64 != 765432 { panicln(8,u64); } } diff --git a/test/ken/interfun.go b/test/ken/interfun.go index 97db89316..876d94128 100644 --- a/test/ken/interfun.go +++ b/test/ken/interfun.go @@ -49,16 +49,16 @@ main() if s.g() != 6 { panic(12); } i1 = s; // convert S to I1 - i2 = i1; // convert I1 to I2 + i2 = i1.(I2); // convert I1 to I2 // call interface if i1.f() != 5 { panic(21); } if i2.f() != 5 { panic(22); } if i2.g() != 6 { panic(23); } - g = i1; // convert I1 to S + g = i1.(*S); // convert I1 to S if g != s { panic(31); } - g = i2; // convert I2 to S + g = i2.(*S); // convert I2 to S if g != s { panic(32); } } |