8c71be3e

Created Started Finished

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Take the partiality and the off-by-one out of the reports

Four things from reviewing the branch:

The line the router becomes reachable on was `last` of a sorted list, total
only because the branch above it had already established that nothing was
missing. The pieces are a NonEmpty now and `traverse` decides between the two
cases, so either every piece is there and there is a last one, or some are
missing and there is no such line to ask about.

Columns were measured from the spaces at the start of a line while the line
itself was stripped of all whitespace, so a command indented with a tab was
reported one column to the left of where it is. caught-by-check/tab-indented.rsc
is that line, and its golden output is the caret in the right place.

Normalising the file for diagnose to quote back dropped every carriage return
rather than the ones ending lines, which would have moved every column after a
carriage return in the middle of one.

The leased addresses were rebuilt for each nat rule that might forward to one.