@@ -23,7 +23,7 @@ impl PassBuilder {
23
23
/// the given [ModulePassManager] accordingly.
24
24
pub fn add_module_pipeline_parsing_callback < T > ( & mut self , cb : T )
25
25
where
26
- T : Fn ( & str , & mut ModulePassManager ) -> PipelineParsing ,
26
+ T : Fn ( & str , & mut ModulePassManager ) -> PipelineParsing + ' static ,
27
27
{
28
28
let cb = Box :: new ( cb) ;
29
29
@@ -38,7 +38,7 @@ impl PassBuilder {
38
38
manager : * mut c_void ,
39
39
) -> bool
40
40
where
41
- T : Fn ( & str , & mut ModulePassManager ) -> PipelineParsing ,
41
+ T : Fn ( & str , & mut ModulePassManager ) -> PipelineParsing + ' static ,
42
42
{
43
43
let cb = unsafe { Box :: < T > :: from_raw ( cb as * mut _ ) } ;
44
44
let name = unsafe { std:: slice:: from_raw_parts ( name_ptr, name_len) } ;
@@ -67,7 +67,7 @@ impl PassBuilder {
67
67
/// the given [FunctionPassManager] accordingly.
68
68
pub fn add_function_pipeline_parsing_callback < T > ( & mut self , cb : T )
69
69
where
70
- T : Fn ( & str , & mut FunctionPassManager ) -> PipelineParsing ,
70
+ T : Fn ( & str , & mut FunctionPassManager ) -> PipelineParsing + ' static ,
71
71
{
72
72
let cb = Box :: new ( cb) ;
73
73
@@ -82,7 +82,7 @@ impl PassBuilder {
82
82
manager : * mut c_void ,
83
83
) -> bool
84
84
where
85
- T : Fn ( & str , & mut FunctionPassManager ) -> PipelineParsing ,
85
+ T : Fn ( & str , & mut FunctionPassManager ) -> PipelineParsing + ' static ,
86
86
{
87
87
let cb = unsafe { Box :: < T > :: from_raw ( cb as * mut _ ) } ;
88
88
let name = unsafe { std:: slice:: from_raw_parts ( name_ptr, name_len) } ;
@@ -111,7 +111,7 @@ impl PassBuilder {
111
111
/// [ModuleAnalysisManager].
112
112
pub fn add_module_analysis_registration_callback < T > ( & mut self , cb : T )
113
113
where
114
- T : Fn ( & mut ModuleAnalysisManager ) ,
114
+ T : Fn ( & mut ModuleAnalysisManager ) + ' static ,
115
115
{
116
116
let cb = Box :: new ( cb) ;
117
117
@@ -121,7 +121,7 @@ impl PassBuilder {
121
121
122
122
extern "C" fn callback_entrypoint < T > ( cb : * const c_void , manager : * mut c_void )
123
123
where
124
- T : Fn ( & mut ModuleAnalysisManager ) ,
124
+ T : Fn ( & mut ModuleAnalysisManager ) + ' static ,
125
125
{
126
126
let cb = unsafe { Box :: < T > :: from_raw ( cb as * mut _ ) } ;
127
127
let mut manager = unsafe { ModuleAnalysisManager :: from_raw ( manager, None ) } ;
@@ -147,7 +147,7 @@ impl PassBuilder {
147
147
/// [FunctionAnalysisManager].
148
148
pub fn add_function_analysis_registration_callback < T > ( & mut self , cb : T )
149
149
where
150
- T : Fn ( & mut FunctionAnalysisManager ) ,
150
+ T : Fn ( & mut FunctionAnalysisManager ) + ' static ,
151
151
{
152
152
let cb = Box :: new ( cb) ;
153
153
@@ -157,7 +157,7 @@ impl PassBuilder {
157
157
158
158
extern "C" fn callback_entrypoint < T > ( cb : * const c_void , manager : * mut c_void )
159
159
where
160
- T : Fn ( & mut FunctionAnalysisManager ) ,
160
+ T : Fn ( & mut FunctionAnalysisManager ) + ' static ,
161
161
{
162
162
let cb = unsafe { Box :: < T > :: from_raw ( cb as * mut _ ) } ;
163
163
let mut manager = unsafe { FunctionAnalysisManager :: from_raw ( manager, None ) } ;
@@ -189,7 +189,7 @@ impl PassBuilder {
189
189
/// combiner pass.
190
190
pub fn add_peephole_ep_callback < T > ( & mut self , cb : T )
191
191
where
192
- T : Fn ( & mut FunctionPassManager , OptimizationLevel ) ,
192
+ T : Fn ( & mut FunctionPassManager , OptimizationLevel ) + ' static ,
193
193
{
194
194
let cb = Box :: new ( cb) ;
195
195
@@ -202,7 +202,7 @@ impl PassBuilder {
202
202
manager : * mut c_void ,
203
203
opt : OptimizationLevel ,
204
204
) where
205
- T : Fn ( & mut FunctionPassManager , OptimizationLevel ) ,
205
+ T : Fn ( & mut FunctionPassManager , OptimizationLevel ) + ' static ,
206
206
{
207
207
let cb = unsafe { Box :: < T > :: from_raw ( cb as * mut _ ) } ;
208
208
let mut manager = unsafe { FunctionPassManager :: from_raw ( manager) } ;
@@ -232,7 +232,7 @@ impl PassBuilder {
232
232
/// optimizations.
233
233
pub fn add_scalar_optimizer_late_ep_callback < T > ( & mut self , cb : T )
234
234
where
235
- T : Fn ( & mut FunctionPassManager , OptimizationLevel ) ,
235
+ T : Fn ( & mut FunctionPassManager , OptimizationLevel ) + ' static ,
236
236
{
237
237
let cb = Box :: new ( cb) ;
238
238
@@ -245,7 +245,7 @@ impl PassBuilder {
245
245
manager : * mut c_void ,
246
246
opt : OptimizationLevel ,
247
247
) where
248
- T : Fn ( & mut FunctionPassManager , OptimizationLevel ) ,
248
+ T : Fn ( & mut FunctionPassManager , OptimizationLevel ) + ' static ,
249
249
{
250
250
let cb = unsafe { Box :: < T > :: from_raw ( cb as * mut _ ) } ;
251
251
let mut manager = unsafe { FunctionPassManager :: from_raw ( manager) } ;
@@ -275,7 +275,7 @@ impl PassBuilder {
275
275
/// passes are executed.
276
276
pub fn add_vectorizer_start_ep_callback < T > ( & mut self , cb : T )
277
277
where
278
- T : Fn ( & mut FunctionPassManager , OptimizationLevel ) ,
278
+ T : Fn ( & mut FunctionPassManager , OptimizationLevel ) + ' static ,
279
279
{
280
280
let cb = Box :: new ( cb) ;
281
281
@@ -288,7 +288,7 @@ impl PassBuilder {
288
288
manager : * mut c_void ,
289
289
opt : OptimizationLevel ,
290
290
) where
291
- T : Fn ( & mut FunctionPassManager , OptimizationLevel ) ,
291
+ T : Fn ( & mut FunctionPassManager , OptimizationLevel ) + ' static ,
292
292
{
293
293
let cb = unsafe { Box :: < T > :: from_raw ( cb as * mut _ ) } ;
294
294
let mut manager = unsafe { FunctionPassManager :: from_raw ( manager) } ;
@@ -325,7 +325,7 @@ impl PassBuilder {
325
325
) ) ]
326
326
pub fn add_pipeline_start_ep_callback < T > ( & mut self , cb : T )
327
327
where
328
- T : Fn ( & mut ModulePassManager , OptimizationLevel ) ,
328
+ T : Fn ( & mut ModulePassManager , OptimizationLevel ) + ' static ,
329
329
{
330
330
let cb = Box :: new ( cb) ;
331
331
@@ -338,7 +338,7 @@ impl PassBuilder {
338
338
manager : * mut c_void ,
339
339
opt : OptimizationLevel ,
340
340
) where
341
- T : Fn ( & mut ModulePassManager , OptimizationLevel ) ,
341
+ T : Fn ( & mut ModulePassManager , OptimizationLevel ) + ' static ,
342
342
{
343
343
let cb = unsafe { Box :: < T > :: from_raw ( cb as * mut _ ) } ;
344
344
let mut manager = unsafe { ModulePassManager :: from_raw ( manager) } ;
@@ -374,7 +374,7 @@ impl PassBuilder {
374
374
) ) ]
375
375
pub fn add_pipeline_early_simplification_ep_callback < T > ( & mut self , cb : T )
376
376
where
377
- T : Fn ( & mut ModulePassManager , OptimizationLevel ) ,
377
+ T : Fn ( & mut ModulePassManager , OptimizationLevel ) + ' static ,
378
378
{
379
379
let cb = Box :: new ( cb) ;
380
380
@@ -387,7 +387,7 @@ impl PassBuilder {
387
387
manager : * mut c_void ,
388
388
opt : OptimizationLevel ,
389
389
) where
390
- T : Fn ( & mut ModulePassManager , OptimizationLevel ) ,
390
+ T : Fn ( & mut ModulePassManager , OptimizationLevel ) + ' static ,
391
391
{
392
392
let cb = unsafe { Box :: < T > :: from_raw ( cb as * mut _ ) } ;
393
393
let mut manager = unsafe { ModulePassManager :: from_raw ( manager) } ;
@@ -424,7 +424,7 @@ impl PassBuilder {
424
424
) ) ]
425
425
pub fn add_optimizer_last_ep_callback < T > ( & mut self , cb : T )
426
426
where
427
- T : Fn ( & mut ModulePassManager , OptimizationLevel ) ,
427
+ T : Fn ( & mut ModulePassManager , OptimizationLevel ) + ' static ,
428
428
{
429
429
let cb = Box :: new ( cb) ;
430
430
@@ -437,7 +437,7 @@ impl PassBuilder {
437
437
manager : * mut c_void ,
438
438
opt : OptimizationLevel ,
439
439
) where
440
- T : Fn ( & mut ModulePassManager , OptimizationLevel ) ,
440
+ T : Fn ( & mut ModulePassManager , OptimizationLevel ) + ' static ,
441
441
{
442
442
let cb = unsafe { Box :: < T > :: from_raw ( cb as * mut _ ) } ;
443
443
let mut manager = unsafe { ModulePassManager :: from_raw ( manager) } ;
@@ -467,7 +467,7 @@ impl PassBuilder {
467
467
#[ cfg( any( feature = "llvm15-0" , feature = "llvm16-0" ) ) ]
468
468
pub fn add_full_lto_early_ep_callback < T > ( & mut self , cb : T )
469
469
where
470
- T : Fn ( & mut ModulePassManager , OptimizationLevel ) ,
470
+ T : Fn ( & mut ModulePassManager , OptimizationLevel ) + ' static ,
471
471
{
472
472
let cb = Box :: new ( cb) ;
473
473
@@ -480,7 +480,7 @@ impl PassBuilder {
480
480
manager : * mut c_void ,
481
481
opt : OptimizationLevel ,
482
482
) where
483
- T : Fn ( & mut ModulePassManager , OptimizationLevel ) ,
483
+ T : Fn ( & mut ModulePassManager , OptimizationLevel ) + ' static ,
484
484
{
485
485
let cb = unsafe { Box :: < T > :: from_raw ( cb as * mut _ ) } ;
486
486
let mut manager = unsafe { ModulePassManager :: from_raw ( manager) } ;
@@ -510,7 +510,7 @@ impl PassBuilder {
510
510
#[ cfg( any( feature = "llvm15-0" , feature = "llvm16-0" ) ) ]
511
511
pub fn add_full_lto_last_ep_callback < T > ( & mut self , cb : T )
512
512
where
513
- T : Fn ( & mut ModulePassManager , OptimizationLevel ) ,
513
+ T : Fn ( & mut ModulePassManager , OptimizationLevel ) + ' static ,
514
514
{
515
515
let cb = Box :: new ( cb) ;
516
516
@@ -523,7 +523,7 @@ impl PassBuilder {
523
523
manager : * mut c_void ,
524
524
opt : OptimizationLevel ,
525
525
) where
526
- T : Fn ( & mut ModulePassManager , OptimizationLevel ) ,
526
+ T : Fn ( & mut ModulePassManager , OptimizationLevel ) + ' static ,
527
527
{
528
528
let cb = unsafe { Box :: < T > :: from_raw ( cb as * mut _ ) } ;
529
529
let mut manager = unsafe { ModulePassManager :: from_raw ( manager) } ;
@@ -553,7 +553,7 @@ impl PassBuilder {
553
553
#[ cfg( any( feature = "llvm15-0" , feature = "llvm16-0" ) ) ]
554
554
pub fn add_optimizer_early_ep_callback < T > ( & mut self , cb : T )
555
555
where
556
- T : Fn ( & mut ModulePassManager , OptimizationLevel ) ,
556
+ T : Fn ( & mut ModulePassManager , OptimizationLevel ) + ' static ,
557
557
{
558
558
let cb = Box :: new ( cb) ;
559
559
@@ -566,7 +566,7 @@ impl PassBuilder {
566
566
manager : * mut c_void ,
567
567
opt : OptimizationLevel ,
568
568
) where
569
- T : Fn ( & mut ModulePassManager , OptimizationLevel ) ,
569
+ T : Fn ( & mut ModulePassManager , OptimizationLevel ) + ' static ,
570
570
{
571
571
let cb = unsafe { Box :: < T > :: from_raw ( cb as * mut _ ) } ;
572
572
let mut manager = unsafe { ModulePassManager :: from_raw ( manager) } ;
0 commit comments