github.com/amarpal/go-tools@v0.0.0-20240422043104-40142f59f616/quickfix/qf1006/testdata/src/example.com/CheckForLoopIfBreak/CheckForLoopIfBreak.go (about) 1 package pkg 2 3 func done() bool { return false } 4 5 var a, b int 6 var x bool 7 8 func fn() { 9 for { 10 if done() { //@ diag(`could lift into loop condition`) 11 break 12 } 13 } 14 15 for { 16 if !done() { //@ diag(`could lift into loop condition`) 17 break 18 } 19 } 20 21 for { 22 if a > b || b > a { //@ diag(`could lift into loop condition`) 23 break 24 } 25 } 26 27 for { 28 if x && (a == b) { //@ diag(`could lift into loop condition`) 29 break 30 } 31 } 32 33 for { 34 if done() { //@ diag(`could lift into loop condition`) 35 break 36 } 37 println() 38 } 39 40 for { 41 println() 42 if done() { 43 break 44 } 45 } 46 47 for { 48 if done() { 49 println() 50 break 51 } 52 } 53 }