@@ -810,8 +810,84 @@ pub mod trace_dump_runtime {
810810
811811 Value :: Bytes31 ( Felt :: from_bytes_le ( & data) )
812812 }
813- CoreTypeConcrete :: IntRange ( _)
814- | CoreTypeConcrete :: Blake ( _)
813+ CoreTypeConcrete :: IntRange ( info) => {
814+ let type_info = registry. get_type ( & info. ty ) . unwrap ( ) ;
815+
816+ match type_info {
817+ CoreTypeConcrete :: Sint8 ( _) => {
818+ let value = value_ptr. cast :: < IntRange < i8 > > ( ) . read ( ) ;
819+ Value :: IntRange {
820+ x : Box :: new ( value. x . into ( ) ) ,
821+ y : Box :: new ( value. y . into ( ) ) ,
822+ }
823+ }
824+ CoreTypeConcrete :: Sint16 ( _) => {
825+ let value = value_ptr. cast :: < IntRange < i16 > > ( ) . read ( ) ;
826+ Value :: IntRange {
827+ x : Box :: new ( value. x . into ( ) ) ,
828+ y : Box :: new ( value. y . into ( ) ) ,
829+ }
830+ }
831+ CoreTypeConcrete :: Sint32 ( _) => {
832+ let value = value_ptr. cast :: < IntRange < i32 > > ( ) . read ( ) ;
833+ Value :: IntRange {
834+ x : Box :: new ( value. x . into ( ) ) ,
835+ y : Box :: new ( value. y . into ( ) ) ,
836+ }
837+ }
838+ CoreTypeConcrete :: Sint64 ( _) => {
839+ let value = value_ptr. cast :: < IntRange < i64 > > ( ) . read ( ) ;
840+ Value :: IntRange {
841+ x : Box :: new ( value. x . into ( ) ) ,
842+ y : Box :: new ( value. y . into ( ) ) ,
843+ }
844+ }
845+ CoreTypeConcrete :: Sint128 ( _) => {
846+ let value = value_ptr. cast :: < IntRange < i128 > > ( ) . read ( ) ;
847+ Value :: IntRange {
848+ x : Box :: new ( value. x . into ( ) ) ,
849+ y : Box :: new ( value. y . into ( ) ) ,
850+ }
851+ }
852+ CoreTypeConcrete :: Uint8 ( _) => {
853+ let value = value_ptr. cast :: < IntRange < u8 > > ( ) . read ( ) ;
854+ Value :: IntRange {
855+ x : Box :: new ( value. x . into ( ) ) ,
856+ y : Box :: new ( value. y . into ( ) ) ,
857+ }
858+ }
859+ CoreTypeConcrete :: Uint16 ( _) => {
860+ let value = value_ptr. cast :: < IntRange < u16 > > ( ) . read ( ) ;
861+ Value :: IntRange {
862+ x : Box :: new ( value. x . into ( ) ) ,
863+ y : Box :: new ( value. y . into ( ) ) ,
864+ }
865+ }
866+ CoreTypeConcrete :: Uint32 ( _) => {
867+ let value = value_ptr. cast :: < IntRange < u32 > > ( ) . read ( ) ;
868+ Value :: IntRange {
869+ x : Box :: new ( value. x . into ( ) ) ,
870+ y : Box :: new ( value. y . into ( ) ) ,
871+ }
872+ }
873+ CoreTypeConcrete :: Uint64 ( _) => {
874+ let value = value_ptr. cast :: < IntRange < u64 > > ( ) . read ( ) ;
875+ Value :: IntRange {
876+ x : Box :: new ( value. x . into ( ) ) ,
877+ y : Box :: new ( value. y . into ( ) ) ,
878+ }
879+ }
880+ CoreTypeConcrete :: Uint128 ( _) => {
881+ let value = value_ptr. cast :: < IntRange < u128 > > ( ) . read ( ) ;
882+ Value :: IntRange {
883+ x : Box :: new ( value. x . into ( ) ) ,
884+ y : Box :: new ( value. y . into ( ) ) ,
885+ }
886+ }
887+ _ => unreachable ! ( ) ,
888+ }
889+ }
890+ CoreTypeConcrete :: Blake ( _)
815891 | CoreTypeConcrete :: GasReserve ( _)
816892 | CoreTypeConcrete :: QM31 ( _) => {
817893 todo ! ( )
@@ -833,6 +909,13 @@ pub mod trace_dump_runtime {
833909 BigUint :: from_bytes_le ( & output_limbs)
834910 }
835911
912+ #[ derive( Debug ) ]
913+ #[ repr( C ) ]
914+ struct IntRange < T > {
915+ x : T ,
916+ y : T ,
917+ }
918+
836919 #[ derive( Debug ) ]
837920 struct FeltDictEntry < ' a > {
838921 dict : & ' a FeltDict ,
0 commit comments