#4080 made all macro checks ignore desugarings. But sometimes this ends up breaking things, like #4081, where the ? operator is creating an into() conversion that we catch.
#4082 moves almost all the macro checks back to checking for desugarings. We should audit these -- in most cases the macro is not checking anything that can potentially be tripped by code from a desugaring.