On Sat, Mar 3, 2018 at 11:48 PM, Neil Mitchell <
ndmit...@gmail.com> wrote:
> Hi Evan,
>
> If a command fails it prints out the command line that failed, that is true
> and remains true.
>
> However, here you have a rule that failed to produce its target - the
> command itself succeeded - but the rule is wrong - so there's no command to
> print. In this case it just identifies the rule by it's target files.
Of course you are correct. Shortly after I sent the email I had a
actual command fail and realized my mistake. Sorry about the bother
:)
> In a future Shake this will print out the location of the rule, but still
> not the command line, since the command has succeeded and finished. I guess
> it could store the last command line and offer that up if a rule fails, but
> it's very much a heuristic hint at a guess at what failed - the command line
> might have worked and done what was expected.
Yes, I agree, in this case shake is doing the right thing.
I feel I should go look into getting ghc to emit a warning when the
module line differs from the filename. It's an uncommon problem, but
confusing when it happens.