index_before and index_after return Option<usize> instead of just usize
This commit is contained in:
		
							parent
							
								
									93353f0f9e
								
							
						
					
					
						commit
						2c9b024ac5
					
				
					 1 changed files with 8 additions and 8 deletions
				
			
		| 
						 | 
				
			
			@ -43,30 +43,30 @@ pub fn identifier_subsequents() -> CharSet {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
pub trait RelativeIndexable {
 | 
			
		||||
    fn index_before(&self, &usize) -> usize;
 | 
			
		||||
    fn index_after(&self, &usize) -> usize;
 | 
			
		||||
    fn index_before(&self, &usize) -> Option<usize>;
 | 
			
		||||
    fn index_after(&self, &usize) -> Option<usize>;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl RelativeIndexable for str {
 | 
			
		||||
    fn index_before(&self, index: &usize) -> usize {
 | 
			
		||||
    fn index_before(&self, index: &usize) -> Option<usize> {
 | 
			
		||||
        let mut prev_index = index - 1;
 | 
			
		||||
        if prev_index <= 0 {
 | 
			
		||||
            return 0;
 | 
			
		||||
            return None;
 | 
			
		||||
        }
 | 
			
		||||
        while !self.is_char_boundary(prev_index) {
 | 
			
		||||
            prev_index -= 1;
 | 
			
		||||
        }
 | 
			
		||||
        prev_index
 | 
			
		||||
        Some(prev_index)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fn index_after(&self, index: &usize) -> usize {
 | 
			
		||||
    fn index_after(&self, index: &usize) -> Option<usize> {
 | 
			
		||||
        let mut next_index = index + 1;
 | 
			
		||||
        if next_index >= self.len() {
 | 
			
		||||
            return self.len();
 | 
			
		||||
            return None;
 | 
			
		||||
        }
 | 
			
		||||
        while !self.is_char_boundary(next_index) {
 | 
			
		||||
            next_index += 1;
 | 
			
		||||
        }
 | 
			
		||||
        next_index
 | 
			
		||||
        Some(next_index)
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue