Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(950)

Side by Side Diff: cmd/vet/testdata/shift.go

Issue 134780043: code review 134780043: go.tools/cmd/vet: detect suspicious shifts
Patch Set: diff -r 8a11e1300048655497f877f9408b0b1ac47886c0 https://code.google.com/p/go.tools Created 9 years, 7 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View unified diff | Download patch
« cmd/vet/shift.go ('K') | « cmd/vet/shift.go ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2014 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 // This file contains tests for the suspicious shift checker.
6
7 package testdata
8
9 func ShiftTest() {
10 var i8 int8
11 i8 << 7
josharian 2014/08/26 19:53:16 Again, please make this file compilable. E.g. _ =
12 i8 << (7 + 1) // ERROR "shift of i8 by 8 will always be 0"
13 i8 >> 8 // ERROR "shift of i8 by 8 will always be 0"
14 i8 <<= 8 // ERROR "shift of i8 by 8 will always be 0"
15 i8 >>= 8 // ERROR "shift of i8 by 8 will always be 0"
16 var i16 int16
17 i16 << 15
18 i16 << 16 // ERROR "shift of i16 by 16 will always be 0"
19 i16 >> 16 // ERROR "shift of i16 by 16 will always be 0"
20 i16 <<= 16 // ERROR "shift of i16 by 16 will always be 0"
21 i16 >>= 16 // ERROR "shift of i16 by 16 will always be 0"
22 var i32 int32
23 i32 << 31
24 i32 << 32 // ERROR "shift of i32 by 32 will always be 0"
25 i32 >> 32 // ERROR "shift of i32 by 32 will always be 0"
26 i32 <<= 32 // ERROR "shift of i32 by 32 will always be 0"
27 i32 >>= 32 // ERROR "shift of i32 by 32 will always be 0"
28 var i64 int64
29 i64 << 63
30 i64 << 64 // ERROR "shift of i64 by 64 will always be 0"
31 i64 >> 64 // ERROR "shift of i64 by 64 will always be 0"
32 i64 <<= 64 // ERROR "shift of i64 by 64 will always be 0"
33 i64 >>= 64 // ERROR "shift of i64 by 64 will always be 0"
34 var u8 uint8
35 u8 << 7
36 u8 << 8 // ERROR "shift of u8 by 8 will always be 0"
37 u8 >> 8 // ERROR "shift of u8 by 8 will always be 0"
38 u8 <<= 8 // ERROR "shift of u8 by 8 will always be 0"
39 u8 >>= 8 // ERROR "shift of u8 by 8 will always be 0"
40 var u16 uint16
41 u16 << 15
42 u16 << 16 // ERROR "shift of u16 by 16 will always be 0"
43 u16 >> 16 // ERROR "shift of u16 by 16 will always be 0"
44 u16 <<= 16 // ERROR "shift of u16 by 16 will always be 0"
45 u16 >>= 16 // ERROR "shift of u16 by 16 will always be 0"
46 var u32 uint32
47 u32 << 31
48 u32 << 32 // ERROR "shift of u32 by 32 will always be 0"
49 u32 >> 32 // ERROR "shift of u32 by 32 will always be 0"
50 u32 <<= 32 // ERROR "shift of u32 by 32 will always be 0"
51 u32 >>= 32 // ERROR "shift of u32 by 32 will always be 0"
52 var u64 uint64
53 u64 << 63
54 u64 << 64 // ERROR "shift of u64 by 64 will always be 0"
55 u64 >> 64 // ERROR "shift of u64 by 64 will always be 0"
56 u64 <<= 64 // ERROR "shift of u64 by 64 will always be 0"
57 u64 >>= 64 // ERROR "shift of u64 by 64 will always be 0"
58 }
OLDNEW
« cmd/vet/shift.go ('K') | « cmd/vet/shift.go ('k') | no next file » | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b