pub fn verify_vehicle_connectivity(
    turns: &[Turn],
    i: &Intersection,
    map: &Map
) -> Result<()>
Expand description

Ideally, we want every incoming lane to lead to at least one lane of the same type, and every outgoing lane to be reachable by at least one lane of the same type. But if it’s a bus or bike lane, settle for being connected to anything – even just a driving lane. There’s naturally places where these dedicated lanes start and end.

Why is this definition strict for driving lanes connected to other driving lanes? See for a motivating example. When a dedicated bike path crosses a road with turn restrictions marked on a segment before the intersection, the turn restrictions probably indicate the vehicle movements allowed further on, and don’t describe the turns between the road and the trail.