/// Ensures all carriages are at the destination.
#[derive(Debug)]pubstructTrain;implTrain{/// Ensures the given destination is reached.
pubfnreach<D>(_dest: D){}}#[cfg(test)]modtests{usesuper::Train;#[test]fnreaches_empty_dest(){let dest = EmptyDest;Train::reach(dest);}#[derive(Debug)]structEmptyDest;}