Resistors and Void Pointers
If you are programming in C or C++, you can prevent the compiler from detecting certain types of errors by using void pointers.
A similar thing happens, if you put a passive component on a schematic between two digital pins.
What the ERC is ment to detect
What Designers do in their Schematics
If you insert some series resistors into digital lines, you effectively bypass the ERC:
The pins of a resistor are defined as passive pins.
And for the ERC a passive pin is a free ticket to pair with nearly everything. It's the type with the most green fields:
The error checker (ERC) has no chance any more, to prove, if an input pin is driven by exact one output pin. Errors should be reported, if there are inputs, which have no driver and also if there are two drivers connected together.
Our Solution: Signal Resistors
We at Team14 came up with the idea, to extend the KiCad's default library by resistors with a dedicated signal flow. They have one input and one output pin.
And some More
Similar things are very useful for resistors and ferrite beads in power nets with dedicated power inputs and power outputs. With the small arrow for the signal direction, the schematic gets even more readable and helps the designer to detect errors before the prototype board is being soldered and tested on the work bench.