def _get_linewise_report(self):
		"""
		Returns a report each line of which comprises a pair of an input line
		and an error. Unlike in the standard report, errors will appear as many
		times as they occur.

		Helper for the get_report method.
		"""
		d = defaultdict(list)  # line: [] of errors

		for error, lines in self.errors.items():
			for line_num in lines:
				d[line_num].append(error)

		return '\n'.join([
			'{:>3} → {}'.format(line, error.string)
			for line in sorted(d.keys())
			for error in d[line]])