@@ -307,7 +307,7 @@ test_generated_function
307307fn foo(a: u32) {
308308 let f = |a: felt252| {
309309 let mut b = @0;
310- if 1 == 2 {
310+ if 1 == bar(2) {
311311 b = @a;
312312 } else {
313313 b = @a;
@@ -320,6 +320,10 @@ fn foo(a: u32) {
320320foo
321321
322322//! > module_code
323+ #[inline(never)]
324+ fn bar(a: felt252) -> felt252 {
325+ a + 1
326+ }
323327
324328//! > semantic_diagnostics
325329
@@ -330,11 +334,11 @@ Main:
330334Parameters: v0: core::integer::u32
331335blk0 (root):
332336Statements:
333- (v1: {
[email protected] :
2 :13:
2 :25}) <- struct_construct()
334- (v2: {
[email protected] :
2 :13:
2 :25}, v3: @{
[email protected] :
2 :13:
2 :25}) <- snapshot(v1)
337+ (v1: {
[email protected] :
6 :13:
6 :25}) <- struct_construct()
338+ (v2: {
[email protected] :
6 :13:
6 :25}, v3: @{
[email protected] :
6 :13:
6 :25}) <- snapshot(v1)
335339 (v4: core::felt252) <- 0
336340 (v5: (core::felt252,)) <- struct_construct(v4)
337- (v6: ()) <- Generated `core::ops::function::Fn::call` for {
[email protected] :
2 :13:
2 :25}(v3, v5)
341+ (v6: ()) <- Generated `core::ops::function::Fn::call` for {
[email protected] :
6 :13:
6 :25}(v3, v5)
338342 (v7: ()) <- struct_construct()
339343End:
340344 Return(v7)
@@ -344,13 +348,14 @@ Final lowering:
344348Parameters: v0: core::integer::u32
345349blk0 (root):
346350Statements:
347- (v1: core::felt252) <- 1
348- (v2: core::felt252) <- 2
349- (v3: core::felt252) <- core::felt252_sub(v1, v2)
351+ (v1: core::felt252) <- 2
352+ (v2: core::felt252) <- test::bar(v1)
353+ (v3: core::felt252) <- 1
354+ (v4: core::felt252) <- core::felt252_sub(v3, v2)
350355End:
351- Match(match core::felt252_is_zero(v3 ) {
356+ Match(match core::felt252_is_zero(v4 ) {
352357 IsZeroResult::Zero => blk1,
353- IsZeroResult::NonZero(v4 ) => blk2,
358+ IsZeroResult::NonZero(v5 ) => blk2,
354359 })
355360
356361blk1:
@@ -368,7 +373,7 @@ Generated core::traits::Destruct::destruct lowering for source location:
368373 let f = |a: felt252| {
369374 ^^^^^^^^^^^^
370375
371- Parameters: v0: {
[email protected] :
2 :13:
2 :25}
376+ Parameters: v0: {
[email protected] :
6 :13:
6 :25}
372377blk0 (root):
373378Statements:
374379 () <- struct_destructure(v0)
378383
379384
380385Final lowering:
381- Parameters: v0: {
[email protected] :
2 :13:
2 :25}
386+ Parameters: v0: {
[email protected] :
6 :13:
6 :25}
382387blk0 (root):
383388Statements:
384389End:
@@ -389,55 +394,57 @@ Generated core::ops::function::Fn::call lowering for source location:
389394 let f = |a: felt252| {
390395 ^^^^^^^^^^^^
391396
392- Parameters: v0: @{
[email protected] :
2 :13:
2 :25}, v2: (core::felt252,)
397+ Parameters: v0: @{
[email protected] :
6 :13:
6 :25}, v2: (core::felt252,)
393398blk0 (root):
394399Statements:
395- (v1: {
[email protected] :
2 :13:
2 :25}) <- desnap(v0)
400+ (v1: {
[email protected] :
6 :13:
6 :25}) <- desnap(v0)
396401 () <- struct_destructure(v1)
397402 (v3: core::felt252) <- struct_destructure(v2)
398403 (v4: core::felt252) <- 0
399404 (v5: core::felt252, v6: @core::felt252) <- snapshot(v4)
400405 (v7: core::felt252) <- 1
401406 (v8: core::felt252, v9: @core::felt252) <- snapshot(v7)
402407 (v10: core::felt252) <- 2
403- (v11: core::felt252, v12: @core::felt252) <- snapshot(v10)
404- (v13: core::bool) <- core::Felt252PartialEq::eq(v9, v12)
408+ (v11: core::felt252) <- test::bar(v10)
409+ (v12: core::felt252, v13: @core::felt252) <- snapshot(v11)
410+ (v14: core::bool) <- core::Felt252PartialEq::eq(v9, v13)
405411End:
406- Match(match_enum(v13 ) {
407- bool::False(v15 ) => blk2,
408- bool::True(v14 ) => blk1,
412+ Match(match_enum(v14 ) {
413+ bool::False(v16 ) => blk2,
414+ bool::True(v15 ) => blk1,
409415 })
410416
411417blk1:
412418Statements:
413- (v18 : core::felt252, v19 : @core::felt252) <- snapshot(v3)
419+ (v19 : core::felt252, v20 : @core::felt252) <- snapshot(v3)
414420End:
415- Goto(blk3, {v18 -> v20, v19 -> v21 })
421+ Goto(blk3, {v19 -> v21, v20 -> v22 })
416422
417423blk2:
418424Statements:
419- (v16 : core::felt252, v17 : @core::felt252) <- snapshot(v3)
425+ (v17 : core::felt252, v18 : @core::felt252) <- snapshot(v3)
420426End:
421- Goto(blk3, {v16 -> v20, v17 -> v21 })
427+ Goto(blk3, {v17 -> v21, v18 -> v22 })
422428
423429blk3:
424430Statements:
425- (v22 : ()) <- struct_construct()
431+ (v23 : ()) <- struct_construct()
426432End:
427- Return(v22 )
433+ Return(v23 )
428434
429435
430436Final lowering:
431- Parameters: v0: @{
[email protected] :
2 :13:
2 :25}, v1: (core::felt252,)
437+ Parameters: v0: @{
[email protected] :
6 :13:
6 :25}, v1: (core::felt252,)
432438blk0 (root):
433439Statements:
434- (v2: core::felt252) <- 1
435- (v3: core::felt252) <- 2
436- (v4: core::felt252) <- core::felt252_sub(v2, v3)
440+ (v2: core::felt252) <- 2
441+ (v3: core::felt252) <- test::bar(v2)
442+ (v4: core::felt252) <- 1
443+ (v5: core::felt252) <- core::felt252_sub(v4, v3)
437444End:
438- Match(match core::felt252_is_zero(v4 ) {
445+ Match(match core::felt252_is_zero(v5 ) {
439446 IsZeroResult::Zero => blk1,
440- IsZeroResult::NonZero(v5 ) => blk2,
447+ IsZeroResult::NonZero(v6 ) => blk2,
441448 })
442449
443450blk1:
0 commit comments