mirror of
				https://github.com/rust-lang/rust-analyzer.git
				synced 2025-10-31 12:04:43 +00:00 
			
		
		
		
	rust-analyzer: rustc_abi::Abi => BackendRepr
				
					
				
			This commit is contained in:
		
							parent
							
								
									404d887f49
								
							
						
					
					
						commit
						92faf55954
					
				
					 1 changed files with 11 additions and 11 deletions
				
			
		|  | @ -6,7 +6,7 @@ use base_db::ra_salsa::Cycle; | |||
| use chalk_ir::{AdtId, FloatTy, IntTy, TyKind, UintTy}; | ||||
| use hir_def::{ | ||||
|     layout::{ | ||||
|         Abi, FieldsShape, Float, Integer, LayoutCalculator, LayoutCalculatorError, LayoutData, | ||||
|         BackendRepr, FieldsShape, Float, Integer, LayoutCalculator, LayoutCalculatorError, LayoutData, | ||||
|         Primitive, ReprOptions, Scalar, Size, StructKind, TargetDataLayout, WrappingRange, | ||||
|     }, | ||||
|     LocalFieldId, StructId, | ||||
|  | @ -168,7 +168,7 @@ fn layout_of_simd_ty( | |||
| 
 | ||||
|     // Compute the ABI of the element type:
 | ||||
|     let e_ly = db.layout_of_ty(e_ty, env)?; | ||||
|     let Abi::Scalar(e_abi) = e_ly.abi else { | ||||
|     let BackendRepr::Scalar(e_abi) = e_ly.backend_repr else { | ||||
|         return Err(LayoutError::Unknown); | ||||
|     }; | ||||
| 
 | ||||
|  | @ -190,7 +190,7 @@ fn layout_of_simd_ty( | |||
|     Ok(Arc::new(Layout { | ||||
|         variants: Variants::Single { index: struct_variant_idx() }, | ||||
|         fields, | ||||
|         abi: Abi::Vector { element: e_abi, count: e_len }, | ||||
|         backend_repr: BackendRepr::Vector { element: e_abi, count: e_len }, | ||||
|         largest_niche: e_ly.largest_niche, | ||||
|         size, | ||||
|         align, | ||||
|  | @ -294,10 +294,10 @@ pub fn layout_of_ty_query( | |||
|                 .checked_mul(count, dl) | ||||
|                 .ok_or(LayoutError::BadCalc(LayoutCalculatorError::SizeOverflow))?; | ||||
| 
 | ||||
|             let abi = if count != 0 && matches!(element.abi, Abi::Uninhabited) { | ||||
|                 Abi::Uninhabited | ||||
|             let backend_repr = if count != 0 && matches!(element.backend_repr, BackendRepr::Uninhabited) { | ||||
|                 BackendRepr::Uninhabited | ||||
|             } else { | ||||
|                 Abi::Aggregate { sized: true } | ||||
|                 BackendRepr::Memory { sized: true } | ||||
|             }; | ||||
| 
 | ||||
|             let largest_niche = if count != 0 { element.largest_niche } else { None }; | ||||
|  | @ -305,7 +305,7 @@ pub fn layout_of_ty_query( | |||
|             Layout { | ||||
|                 variants: Variants::Single { index: struct_variant_idx() }, | ||||
|                 fields: FieldsShape::Array { stride: element.size, count }, | ||||
|                 abi, | ||||
|                 backend_repr, | ||||
|                 largest_niche, | ||||
|                 align: element.align, | ||||
|                 size, | ||||
|  | @ -318,7 +318,7 @@ pub fn layout_of_ty_query( | |||
|             Layout { | ||||
|                 variants: Variants::Single { index: struct_variant_idx() }, | ||||
|                 fields: FieldsShape::Array { stride: element.size, count: 0 }, | ||||
|                 abi: Abi::Aggregate { sized: false }, | ||||
|                 backend_repr: BackendRepr::Memory { sized: false }, | ||||
|                 largest_niche: None, | ||||
|                 align: element.align, | ||||
|                 size: Size::ZERO, | ||||
|  | @ -329,7 +329,7 @@ pub fn layout_of_ty_query( | |||
|         TyKind::Str => Layout { | ||||
|             variants: Variants::Single { index: struct_variant_idx() }, | ||||
|             fields: FieldsShape::Array { stride: Size::from_bytes(1), count: 0 }, | ||||
|             abi: Abi::Aggregate { sized: false }, | ||||
|             backend_repr: BackendRepr::Memory { sized: false }, | ||||
|             largest_niche: None, | ||||
|             align: dl.i8_align, | ||||
|             size: Size::ZERO, | ||||
|  | @ -379,8 +379,8 @@ pub fn layout_of_ty_query( | |||
|         TyKind::Never => cx.calc.layout_of_never_type(), | ||||
|         TyKind::Dyn(_) | TyKind::Foreign(_) => { | ||||
|             let mut unit = layout_of_unit(&cx)?; | ||||
|             match &mut unit.abi { | ||||
|                 Abi::Aggregate { sized } => *sized = false, | ||||
|             match &mut unit.backend_repr { | ||||
|                 BackendRepr::Memory { sized } => *sized = false, | ||||
|                 _ => return Err(LayoutError::Unknown), | ||||
|             } | ||||
|             unit | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Jubilee Young
						Jubilee Young