map: fixed deletion of non-existent keys
							parent
							
								
									5da3c49497
								
							
						
					
					
						commit
						e8d34002e1
					
				| 
						 | 
				
			
			@ -207,8 +207,10 @@ pub fn (n mut mapnode) delete(key string, element_size int) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
pub fn (m mut map) delete(key string) {
 | 
			
		||||
	m.root.delete(key, m.element_size)
 | 
			
		||||
	m.size--
 | 
			
		||||
	if m.exists(key) {
 | 
			
		||||
		m.root.delete(key, m.element_size)
 | 
			
		||||
		m.size--
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
fn (m map) exists(key string) bool {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,6 +38,8 @@ fn test_map() {
 | 
			
		|||
	assert keys[1] == 'hello'
 | 
			
		||||
	m.delete('hi')
 | 
			
		||||
	assert m.size == 1
 | 
			
		||||
	m.delete('aloha')
 | 
			
		||||
	assert m.size == 1
 | 
			
		||||
 | 
			
		||||
	assert m['hi'] == 0
 | 
			
		||||
	assert m.keys().len == 1
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue