|
1 | 1 | use super::global::GlobalType; |
2 | 2 | use super::RefType; |
3 | | -use crate::core::indices::{FuncIdx, TableIdx}; |
| 3 | +use crate::core::indices::FuncIdx; |
4 | 4 | use crate::core::reader::span::Span; |
5 | 5 | use crate::core::reader::types::TableType; |
6 | 6 | use crate::core::reader::WasmReader; |
| 7 | +use crate::core::utils::ToUsizeExt; |
7 | 8 | use crate::read_constant_expression::read_constant_expression; |
8 | 9 | use crate::validation_stack::ValidationStack; |
9 | 10 | use crate::{NumType, ValType, ValidationError}; |
@@ -230,8 +231,8 @@ impl ElemType { |
230 | 231 | // start validating elemmode of form active {table x, offset expr} |
231 | 232 | // 1-2. C.tables[x] must be defined with type: limits t |
232 | 233 | let table_type = tables |
233 | | - .get(x as usize) |
234 | | - .ok_or(ValidationError::InvalidTableIdx(x as TableIdx))? |
| 234 | + .get(x.into_usize()) |
| 235 | + .ok_or(ValidationError::InvalidTableIdx(x.into_usize()))? |
235 | 236 | .et; |
236 | 237 | if table_type != t { |
237 | 238 | return Err(ValidationError::ActiveElementSegmentTypeMismatch); |
@@ -325,11 +326,11 @@ fn parse_validate_shortened_initializer_list( |
325 | 326 | ) -> Result<ElemItems, ValidationError> { |
326 | 327 | wasm.read_vec(|w| { |
327 | 328 | let func_idx = w.read_var_u32()?; |
328 | | - if num_funcs <= func_idx as usize { |
| 329 | + if num_funcs <= func_idx.into_usize() { |
329 | 330 | // TODO fix error |
330 | | - return Err(ValidationError::InvalidFuncIdx(func_idx as usize)); |
| 331 | + return Err(ValidationError::InvalidFuncIdx(func_idx.into_usize())); |
331 | 332 | } |
332 | | - validation_context_refs.insert(func_idx as FuncIdx); |
| 333 | + validation_context_refs.insert(func_idx.into_usize()); |
333 | 334 | Ok(func_idx) |
334 | 335 | }) |
335 | 336 | .map(ElemItems::RefFuncs) |
|
0 commit comments