blob 3acd0feb (1043B) - Raw
1 fn foo() void {} 2 fn bar() void {} 3 4 pub export fn entry1() void { 5 const TestFn = fn () void; 6 const test_fns = [_]TestFn{ foo, bar }; 7 for (test_fns) |testFn| { 8 testFn(); 9 } 10 } 11 pub export fn entry2() void { 12 const TestFn = fn () void; 13 const test_fns = [_]TestFn{ foo, bar }; 14 var i: usize = 0; 15 _ = test_fns[i]; 16 } 17 pub export fn entry3() void { 18 const TestFn = fn () void; 19 const test_fns = [_]TestFn{ foo, bar }; 20 var i: usize = 0; 21 _ = &test_fns[i]; 22 } 23 // error 24 // backend=stage2,llvm 25 // 26 // :6:5: error: values of type '[2]fn() void' must be comptime known, but index value is runtime known 27 // :6:5: note: use '*const fn() void' for a function pointer type 28 // :13:5: error: values of type '[2]fn() void' must be comptime known, but index value is runtime known 29 // :13:5: note: use '*const fn() void' for a function pointer type 30 // :19:5: error: values of type '[2]fn() void' must be comptime known, but index value is runtime known 31 // :19:5: note: use '*const fn() void' for a function pointer type