The "missing/moved modules" message (see https://www.drupal.org/node/2487215) added in Drupal 7.50 is maybe too harsh as a PHP warning. I think it should be a PHP notice instead.
This message occurs when Drupal is trying to load a file but doesn't find it, or doesn't find it in the expected place. To me this is similar to code that tries to access an array key that doesn't exist, for which PHP throws a notice, not a warning.
This change would help the message be less visible in places where it is currently unwanted - for example, I believe Drush would stop displaying it except when
--verbose is used, and it would also not display on sites (e.g. staging sites) that are configured to display errors and warnings to the screen but not notices. However, it would still display on development sites that are configured to display all messages to the screen, which would help developers find mistakes in their code (I think that was the main motivation for introducing this message in the first place).
In https://www.drupal.org/node/2487215#comment-11539563 @hstrindb suggested that it should still be a PHP warning if it is an enabled module that has gone missing, but a notice otherwise. I agree in theory, but I think it would be a pain to code that - so I'm not including that in the patch for now. If an enabled module has gone missing, this will still trigger a notice on basically every page request (so it will fill up the watchdog logs much more than a non-enabled module that is missing) and likely something else noticeable will be wrong with your site too. So I don't think it has to be a PHP warning in that case if we can't easily preserve that.