I don't know why you don't get the warning... it's actually pretty strange because it's not even a warning, it's using {% puts "..." %}.
Try this on a single file:
require "gzip"
Gzip::Writer.open(env.response) do |deflate|
end
(it was renamed to compress/gzip and Compress::Gzip).
We should probably try to fix this in stdlib, though.
This should probably be milestoned for 0.35.0.
/cc @bcardiff
The challenge here is that flate and gzip _files_ are marked as deprecated, but available.
To avoid having the deprecation message on every build the std-lib needs to use the new ones in compress/.
That change was done in https://github.com/crystal-lang/crystal/pull/8886/files#diff-520d933e69a34d18025788f47787c6f2R3
So users of Gzip need to either require the file (which they didn't because they are transitive dependency) or move to Compress::Gzip.
I don't think that there is something else to improve this.
The deprecation warning on aliases don't work. The compiler does not signal deprecation warnings on constant references, only method calls that check on method definition deprecated annotations. If we would have that we will still need to implement some logic for aliases (or duplicated the implementation).
Most helpful comment
We should probably try to fix this in stdlib, though.