pub fn join<T: Ord + Clone>(a: Range<T>, b: Range<T>)
    -> Option<Range<T>> {

    if intersects(&a, &b) {
        Some(cmp::min(a.start.clone(), b.start.clone()) ..
             cmp::max(a.end.clone(), b.end.clone()))
    } else {
        None
    }
}
/// Join a region into another region, if they touch each other
Join a region into another region, if they touch each other
Join a region into another region if they touch each other
pub fn join<T: Ord + Clone>(a: Range<T>, b: Range<T>)
    -> Option<Range<T>> {
    if intersects(&a, &b) {
        Some(cmp::min(a.start.clone(), b.start.clone()) ..
             cmp::max(a.end.clone(), b.end.clone()))
    } else {
        None
    }
}
pub fn join < T : Ord + Clone > ( a : Range < T > , b : Range < T > ) -> Option < Range < T > > { if intersects ( & a , & b ) { Some ( cmp :: min ( a . start . clone ( ) , b . start . clone ( ) ) .. cmp :: max ( a . end . clone ( ) , b . end . clone ( ) ) ) } else { None } }
Join a region into another region, if they touch each other
Join a region into another region if they touch each other
a
Range<T>
b
Range<T>