@@ -29,23 +29,23 @@ func closeFileDeferredIndirectReturn(f *os.File) {
2929func deferredCalls () {
3030 // open file for writing
3131 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)
3535 }
3636
3737 // open file for reading
3838 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
4242 }
4343
4444 // open file for reading and writing
4545 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)
4949 }
5050}
5151
0 commit comments