Skip to content

Commit 8fd1eea

Browse files
committed
Add 'static bound on PassBuilder closures
1 parent 17bae77 commit 8fd1eea

File tree

1 file changed

+26
-26
lines changed

1 file changed

+26
-26
lines changed

llvm-plugin/src/pass_builder.rs

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ impl PassBuilder {
2323
/// the given [ModulePassManager] accordingly.
2424
pub fn add_module_pipeline_parsing_callback<T>(&mut self, cb: T)
2525
where
26-
T: Fn(&str, &mut ModulePassManager) -> PipelineParsing,
26+
T: Fn(&str, &mut ModulePassManager) -> PipelineParsing + 'static,
2727
{
2828
let cb = Box::new(cb);
2929

@@ -38,7 +38,7 @@ impl PassBuilder {
3838
manager: *mut c_void,
3939
) -> bool
4040
where
41-
T: Fn(&str, &mut ModulePassManager) -> PipelineParsing,
41+
T: Fn(&str, &mut ModulePassManager) -> PipelineParsing + 'static,
4242
{
4343
let cb = unsafe { Box::<T>::from_raw(cb as *mut _) };
4444
let name = unsafe { std::slice::from_raw_parts(name_ptr, name_len) };
@@ -67,7 +67,7 @@ impl PassBuilder {
6767
/// the given [FunctionPassManager] accordingly.
6868
pub fn add_function_pipeline_parsing_callback<T>(&mut self, cb: T)
6969
where
70-
T: Fn(&str, &mut FunctionPassManager) -> PipelineParsing,
70+
T: Fn(&str, &mut FunctionPassManager) -> PipelineParsing + 'static,
7171
{
7272
let cb = Box::new(cb);
7373

@@ -82,7 +82,7 @@ impl PassBuilder {
8282
manager: *mut c_void,
8383
) -> bool
8484
where
85-
T: Fn(&str, &mut FunctionPassManager) -> PipelineParsing,
85+
T: Fn(&str, &mut FunctionPassManager) -> PipelineParsing + 'static,
8686
{
8787
let cb = unsafe { Box::<T>::from_raw(cb as *mut _) };
8888
let name = unsafe { std::slice::from_raw_parts(name_ptr, name_len) };
@@ -111,7 +111,7 @@ impl PassBuilder {
111111
/// [ModuleAnalysisManager].
112112
pub fn add_module_analysis_registration_callback<T>(&mut self, cb: T)
113113
where
114-
T: Fn(&mut ModuleAnalysisManager),
114+
T: Fn(&mut ModuleAnalysisManager) + 'static,
115115
{
116116
let cb = Box::new(cb);
117117

@@ -121,7 +121,7 @@ impl PassBuilder {
121121

122122
extern "C" fn callback_entrypoint<T>(cb: *const c_void, manager: *mut c_void)
123123
where
124-
T: Fn(&mut ModuleAnalysisManager),
124+
T: Fn(&mut ModuleAnalysisManager) + 'static,
125125
{
126126
let cb = unsafe { Box::<T>::from_raw(cb as *mut _) };
127127
let mut manager = unsafe { ModuleAnalysisManager::from_raw(manager, None) };
@@ -147,7 +147,7 @@ impl PassBuilder {
147147
/// [FunctionAnalysisManager].
148148
pub fn add_function_analysis_registration_callback<T>(&mut self, cb: T)
149149
where
150-
T: Fn(&mut FunctionAnalysisManager),
150+
T: Fn(&mut FunctionAnalysisManager) + 'static,
151151
{
152152
let cb = Box::new(cb);
153153

@@ -157,7 +157,7 @@ impl PassBuilder {
157157

158158
extern "C" fn callback_entrypoint<T>(cb: *const c_void, manager: *mut c_void)
159159
where
160-
T: Fn(&mut FunctionAnalysisManager),
160+
T: Fn(&mut FunctionAnalysisManager) + 'static,
161161
{
162162
let cb = unsafe { Box::<T>::from_raw(cb as *mut _) };
163163
let mut manager = unsafe { FunctionAnalysisManager::from_raw(manager, None) };
@@ -189,7 +189,7 @@ impl PassBuilder {
189189
/// combiner pass.
190190
pub fn add_peephole_ep_callback<T>(&mut self, cb: T)
191191
where
192-
T: Fn(&mut FunctionPassManager, OptimizationLevel),
192+
T: Fn(&mut FunctionPassManager, OptimizationLevel) + 'static,
193193
{
194194
let cb = Box::new(cb);
195195

@@ -202,7 +202,7 @@ impl PassBuilder {
202202
manager: *mut c_void,
203203
opt: OptimizationLevel,
204204
) where
205-
T: Fn(&mut FunctionPassManager, OptimizationLevel),
205+
T: Fn(&mut FunctionPassManager, OptimizationLevel) + 'static,
206206
{
207207
let cb = unsafe { Box::<T>::from_raw(cb as *mut _) };
208208
let mut manager = unsafe { FunctionPassManager::from_raw(manager) };
@@ -232,7 +232,7 @@ impl PassBuilder {
232232
/// optimizations.
233233
pub fn add_scalar_optimizer_late_ep_callback<T>(&mut self, cb: T)
234234
where
235-
T: Fn(&mut FunctionPassManager, OptimizationLevel),
235+
T: Fn(&mut FunctionPassManager, OptimizationLevel) + 'static,
236236
{
237237
let cb = Box::new(cb);
238238

@@ -245,7 +245,7 @@ impl PassBuilder {
245245
manager: *mut c_void,
246246
opt: OptimizationLevel,
247247
) where
248-
T: Fn(&mut FunctionPassManager, OptimizationLevel),
248+
T: Fn(&mut FunctionPassManager, OptimizationLevel) + 'static,
249249
{
250250
let cb = unsafe { Box::<T>::from_raw(cb as *mut _) };
251251
let mut manager = unsafe { FunctionPassManager::from_raw(manager) };
@@ -275,7 +275,7 @@ impl PassBuilder {
275275
/// passes are executed.
276276
pub fn add_vectorizer_start_ep_callback<T>(&mut self, cb: T)
277277
where
278-
T: Fn(&mut FunctionPassManager, OptimizationLevel),
278+
T: Fn(&mut FunctionPassManager, OptimizationLevel) + 'static,
279279
{
280280
let cb = Box::new(cb);
281281

@@ -288,7 +288,7 @@ impl PassBuilder {
288288
manager: *mut c_void,
289289
opt: OptimizationLevel,
290290
) where
291-
T: Fn(&mut FunctionPassManager, OptimizationLevel),
291+
T: Fn(&mut FunctionPassManager, OptimizationLevel) + 'static,
292292
{
293293
let cb = unsafe { Box::<T>::from_raw(cb as *mut _) };
294294
let mut manager = unsafe { FunctionPassManager::from_raw(manager) };
@@ -325,7 +325,7 @@ impl PassBuilder {
325325
))]
326326
pub fn add_pipeline_start_ep_callback<T>(&mut self, cb: T)
327327
where
328-
T: Fn(&mut ModulePassManager, OptimizationLevel),
328+
T: Fn(&mut ModulePassManager, OptimizationLevel) + 'static,
329329
{
330330
let cb = Box::new(cb);
331331

@@ -338,7 +338,7 @@ impl PassBuilder {
338338
manager: *mut c_void,
339339
opt: OptimizationLevel,
340340
) where
341-
T: Fn(&mut ModulePassManager, OptimizationLevel),
341+
T: Fn(&mut ModulePassManager, OptimizationLevel) + 'static,
342342
{
343343
let cb = unsafe { Box::<T>::from_raw(cb as *mut _) };
344344
let mut manager = unsafe { ModulePassManager::from_raw(manager) };
@@ -374,7 +374,7 @@ impl PassBuilder {
374374
))]
375375
pub fn add_pipeline_early_simplification_ep_callback<T>(&mut self, cb: T)
376376
where
377-
T: Fn(&mut ModulePassManager, OptimizationLevel),
377+
T: Fn(&mut ModulePassManager, OptimizationLevel) + 'static,
378378
{
379379
let cb = Box::new(cb);
380380

@@ -387,7 +387,7 @@ impl PassBuilder {
387387
manager: *mut c_void,
388388
opt: OptimizationLevel,
389389
) where
390-
T: Fn(&mut ModulePassManager, OptimizationLevel),
390+
T: Fn(&mut ModulePassManager, OptimizationLevel) + 'static,
391391
{
392392
let cb = unsafe { Box::<T>::from_raw(cb as *mut _) };
393393
let mut manager = unsafe { ModulePassManager::from_raw(manager) };
@@ -424,7 +424,7 @@ impl PassBuilder {
424424
))]
425425
pub fn add_optimizer_last_ep_callback<T>(&mut self, cb: T)
426426
where
427-
T: Fn(&mut ModulePassManager, OptimizationLevel),
427+
T: Fn(&mut ModulePassManager, OptimizationLevel) + 'static,
428428
{
429429
let cb = Box::new(cb);
430430

@@ -437,7 +437,7 @@ impl PassBuilder {
437437
manager: *mut c_void,
438438
opt: OptimizationLevel,
439439
) where
440-
T: Fn(&mut ModulePassManager, OptimizationLevel),
440+
T: Fn(&mut ModulePassManager, OptimizationLevel) + 'static,
441441
{
442442
let cb = unsafe { Box::<T>::from_raw(cb as *mut _) };
443443
let mut manager = unsafe { ModulePassManager::from_raw(manager) };
@@ -467,7 +467,7 @@ impl PassBuilder {
467467
#[cfg(any(feature = "llvm15-0", feature = "llvm16-0"))]
468468
pub fn add_full_lto_early_ep_callback<T>(&mut self, cb: T)
469469
where
470-
T: Fn(&mut ModulePassManager, OptimizationLevel),
470+
T: Fn(&mut ModulePassManager, OptimizationLevel) + 'static,
471471
{
472472
let cb = Box::new(cb);
473473

@@ -480,7 +480,7 @@ impl PassBuilder {
480480
manager: *mut c_void,
481481
opt: OptimizationLevel,
482482
) where
483-
T: Fn(&mut ModulePassManager, OptimizationLevel),
483+
T: Fn(&mut ModulePassManager, OptimizationLevel) + 'static,
484484
{
485485
let cb = unsafe { Box::<T>::from_raw(cb as *mut _) };
486486
let mut manager = unsafe { ModulePassManager::from_raw(manager) };
@@ -510,7 +510,7 @@ impl PassBuilder {
510510
#[cfg(any(feature = "llvm15-0", feature = "llvm16-0"))]
511511
pub fn add_full_lto_last_ep_callback<T>(&mut self, cb: T)
512512
where
513-
T: Fn(&mut ModulePassManager, OptimizationLevel),
513+
T: Fn(&mut ModulePassManager, OptimizationLevel) + 'static,
514514
{
515515
let cb = Box::new(cb);
516516

@@ -523,7 +523,7 @@ impl PassBuilder {
523523
manager: *mut c_void,
524524
opt: OptimizationLevel,
525525
) where
526-
T: Fn(&mut ModulePassManager, OptimizationLevel),
526+
T: Fn(&mut ModulePassManager, OptimizationLevel) + 'static,
527527
{
528528
let cb = unsafe { Box::<T>::from_raw(cb as *mut _) };
529529
let mut manager = unsafe { ModulePassManager::from_raw(manager) };
@@ -553,7 +553,7 @@ impl PassBuilder {
553553
#[cfg(any(feature = "llvm15-0", feature = "llvm16-0"))]
554554
pub fn add_optimizer_early_ep_callback<T>(&mut self, cb: T)
555555
where
556-
T: Fn(&mut ModulePassManager, OptimizationLevel),
556+
T: Fn(&mut ModulePassManager, OptimizationLevel) + 'static,
557557
{
558558
let cb = Box::new(cb);
559559

@@ -566,7 +566,7 @@ impl PassBuilder {
566566
manager: *mut c_void,
567567
opt: OptimizationLevel,
568568
) where
569-
T: Fn(&mut ModulePassManager, OptimizationLevel),
569+
T: Fn(&mut ModulePassManager, OptimizationLevel) + 'static,
570570
{
571571
let cb = unsafe { Box::<T>::from_raw(cb as *mut _) };
572572
let mut manager = unsafe { ModulePassManager::from_raw(manager) };

0 commit comments

Comments
 (0)