Fix using custom type-labels for e.g. return type
This commit is contained in:
		
							parent
							
								
									0f782dcb96
								
							
						
					
					
						commit
						ce2278ce45
					
				| @ -39,7 +39,7 @@ impl Parse for Type { | ||||
|                     "u64" => TypeKind::U64, | ||||
|                     "u128" => TypeKind::U128, | ||||
|                     "string" => TypeKind::String, | ||||
|                     _ => Err(stream.expected_err("known type identifier")?)?, | ||||
|                     _ => TypeKind::Custom(ident), | ||||
|                 } | ||||
|             } else { | ||||
|                 return Err(stream.expected_err("type identifier")?)?; | ||||
|  | ||||
| @ -275,7 +275,7 @@ impl From<ast::TypeKind> for mir::TypeKind { | ||||
|                 mir::TypeKind::Array(Box::new(mir::TypeKind::from(*type_kind.clone())), *length) | ||||
|             } | ||||
|             ast::TypeKind::String => mir::TypeKind::StringPtr, | ||||
|             ast::TypeKind::Custom(_) => todo!("Add processing for custom types"), | ||||
|             ast::TypeKind::Custom(name) => mir::TypeKind::CustomType(name.clone()), | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -5,19 +5,24 @@ struct Test { | ||||
|     second: [u32; 4] | ||||
| } | ||||
| 
 | ||||
| fn main() -> v u32 { | ||||
|     let mut value = [Test { | ||||
| fn test() -> [Test; 1] { | ||||
|     let value = [Test { | ||||
|         field: 5, | ||||
|         second: [6, 3, "hello", 8], | ||||
|         second: [6, 3, 4, 8], | ||||
|     }]; | ||||
|     return value; | ||||
| } | ||||
| 
 | ||||
| fn main() -> u32 { | ||||
|     let mut value = test(); | ||||
| 
 | ||||
|     let val1 = 0; | ||||
|     let val2 = 1; | ||||
| 
 | ||||
|     // value[val1].second[val2 + 1] = 99; | ||||
| 
 | ||||
|     let mut b = valude[val1]; | ||||
|     let mut b = value[val1]; | ||||
|     b.second[2] = 99; | ||||
| 
 | ||||
|     return value[val1].sezcond[2]; | ||||
|     return value[val1].second[2]; | ||||
| } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user