What warning were you expecting? "Code makes no sense"?
While quite clever, in their way, compilers are not (yet?) intelligent enough to know whether your code makes sense or not; they only note sintax errors, type conversion gotchas, and a long etc.
Your code may make not sense to you but the compiler only knows that it's perfectly aceptable code: there is a variable assignment a call to a procedure, etc. The procedure parameter is declared as
out, so it knows it doesn't need to copy a value but pass a simple "write-only" reference and that's all.