mirror of
				https://github.com/Dummi26/mers.git
				synced 2025-10-31 03:45:26 +01:00 
			
		
		
		
	add divbyzero error for integer division
This commit is contained in:
		
							parent
							
								
									f59c0941f5
								
							
						
					
					
						commit
						b11e4017ed
					
				| @ -1,6 +1,6 @@ | |||||||
| [package] | [package] | ||||||
| name = "mers" | name = "mers" | ||||||
| version = "0.8.10" | version = "0.8.11" | ||||||
| edition = "2021" | edition = "2021" | ||||||
| license = "MIT OR Apache-2.0" | license = "MIT OR Apache-2.0" | ||||||
| description = "dynamically typed but type-checked programming language" | description = "dynamically typed but type-checked programming language" | ||||||
| @ -11,7 +11,7 @@ repository = "https://github.com/Dummi26/mers" | |||||||
| # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html | ||||||
| 
 | 
 | ||||||
| [dependencies] | [dependencies] | ||||||
| mers_lib = "0.8.10" | mers_lib = "0.8.11" | ||||||
| # mers_lib = { path = "../mers_lib" } | # mers_lib = { path = "../mers_lib" } | ||||||
| clap = { version = "4.3.19", features = ["derive"] } | clap = { version = "4.3.19", features = ["derive"] } | ||||||
| colored = "2.1.0" | colored = "2.1.0" | ||||||
|  | |||||||
| @ -1,6 +1,6 @@ | |||||||
| [package] | [package] | ||||||
| name = "mers_lib" | name = "mers_lib" | ||||||
| version = "0.8.10" | version = "0.8.11" | ||||||
| edition = "2021" | edition = "2021" | ||||||
| license = "MIT OR Apache-2.0" | license = "MIT OR Apache-2.0" | ||||||
| description = "library to use the mers language in other projects" | description = "library to use the mers language in other projects" | ||||||
|  | |||||||
| @ -137,7 +137,7 @@ impl Config { | |||||||
|                     match (left.downcast_ref::<data::int::Int>(), left.downcast_ref::<data::float::Float>(), |                     match (left.downcast_ref::<data::int::Int>(), left.downcast_ref::<data::float::Float>(), | ||||||
|                         right.downcast_ref::<data::int::Int>(), right.downcast_ref::<data::float::Float>() |                         right.downcast_ref::<data::int::Int>(), right.downcast_ref::<data::float::Float>() | ||||||
|                     ) { |                     ) { | ||||||
|                         (Some(data::int::Int(l)), None, Some(data::int::Int(r)), None) => Ok(Data::new(data::int::Int(l / r))), |                         (Some(data::int::Int(l)), None, Some(data::int::Int(r)), None) => Ok(Data::new(data::int::Int(l.checked_div(*r).ok_or_else(|| CheckError::from("attempted to divide by zero"))?))), | ||||||
|                         (Some(data::int::Int(l)), None, None, Some(data::float::Float(r))) => Ok(Data::new(data::float::Float(*l as f64 / r))), |                         (Some(data::int::Int(l)), None, None, Some(data::float::Float(r))) => Ok(Data::new(data::float::Float(*l as f64 / r))), | ||||||
|                         (None, Some(data::float::Float(l)), Some(data::int::Int(r)), None) => Ok(Data::new(data::float::Float(l / *r as f64))), |                         (None, Some(data::float::Float(l)), Some(data::int::Int(r)), None) => Ok(Data::new(data::float::Float(l / *r as f64))), | ||||||
|                         (None, Some(data::float::Float(l)), None, Some(data::float::Float(r))) => Ok(Data::new(data::float::Float(l / r))), |                         (None, Some(data::float::Float(l)), None, Some(data::float::Float(r))) => Ok(Data::new(data::float::Float(l / r))), | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Mark
						Mark