So I assume he means code that he hasn't checked in yet, but might do when he gets back if he can't remember what was doing and it compiles.
Personally, I like to check in broken code late on that Friday evening before I take 2 weeks holiday. Unfortunately, these days with these new fangled source control systems you can't check it out again and keep it locked while you are away.
Then, just mark your commits with WIP.
I have no problem with broken commits locally, but I don't want to see those in a public tree. Merge or rebase with squashing, please.
Agreed, but that's not what you should do.
Many times I have finished the day with a working commit and push, then I add a compiler-error "todo ..." line to the code locally so that it's clear where I have to resume tomorrow.