@@ -29,23 +29,23 @@ func closeFileDeferredIndirectReturn(f *os.File) {
29
29
func deferredCalls () {
30
30
// open file for writing
31
31
if f , err := os .OpenFile ("foo.txt" , os .O_WRONLY | os .O_TRUNC | os .O_CREATE , 0666 ); err != nil {
32
- closeFileDeferred (f ) // NOT OK
33
- closeFileDeferredIndirect (f ) // NOT OK
34
- closeFileDeferredIndirectReturn (f )
32
+ closeFileDeferred (f ) // NOT OK
33
+ closeFileDeferredIndirect (f ) // NOT OK
34
+ closeFileDeferredIndirectReturn (f ) // OK - the error is not discarded at the call to Close (though it is discarded later)
35
35
}
36
36
37
37
// open file for reading
38
38
if f , err := os .OpenFile ("foo.txt" , os .O_RDONLY | os .O_CREATE , 0666 ); err != nil {
39
- closeFileDeferred (f ) // OK
40
- closeFileDeferredIndirect (f ) // OK
41
- closeFileDeferredIndirectReturn (f )
39
+ closeFileDeferred (f ) // OK
40
+ closeFileDeferredIndirect (f ) // OK
41
+ closeFileDeferredIndirectReturn (f ) // OK
42
42
}
43
43
44
44
// open file for reading and writing
45
45
if f , err := os .OpenFile ("foo.txt" , os .O_RDWR | os .O_TRUNC | os .O_CREATE , 0666 ); err != nil {
46
- closeFileDeferred (f ) // NOT OK
47
- closeFileDeferredIndirect (f ) // NOT OK
48
- closeFileDeferredIndirectReturn (f )
46
+ closeFileDeferred (f ) // NOT OK
47
+ closeFileDeferredIndirect (f ) // NOT OK
48
+ closeFileDeferredIndirectReturn (f ) // OK - the error is not discarded at the call to Close (though it is discarded later)
49
49
}
50
50
}
51
51
0 commit comments