Allow mutable borrows to coerce into immutable
This commit is contained in:
		
							parent
							
								
									1c83ca44ab
								
							
						
					
					
						commit
						cc367a38e7
					
				| @ -152,7 +152,7 @@ impl TypeKind { | |||||||
|             (TypeKind::Borrow(val1, mut1), TypeKind::Borrow(val2, mut2)) => { |             (TypeKind::Borrow(val1, mut1), TypeKind::Borrow(val2, mut2)) => { | ||||||
|                 // Extracted to give priority for other collapse-error
 |                 // Extracted to give priority for other collapse-error
 | ||||||
|                 let collapsed = val1.narrow_into(val2)?; |                 let collapsed = val1.narrow_into(val2)?; | ||||||
|                 if mut1 == mut2 { |                 if mut1 == mut2 || (*mut1 && !mut2) { | ||||||
|                     Ok(TypeKind::Borrow(Box::new(collapsed), *mut1 && *mut2)) |                     Ok(TypeKind::Borrow(Box::new(collapsed), *mut1 && *mut2)) | ||||||
|                 } else { |                 } else { | ||||||
|                     Err(ErrorKind::TypesDifferMutability(self.clone(), other.clone())) |                     Err(ErrorKind::TypesDifferMutability(self.clone(), other.clone())) | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user