Zero distance between Vertex A and Vertex A should be documented (see first comment). This may make sense here, so I'm not questioning the actual decision, but it should at least be documented.

Also, what if an actual loop edge does exist? And what happens if it has zero weight? And what happens if it has negative weight?