
| Ok, should it be INLINE[n] or NOINLINE[n], and what is the right value | of n? Well it depends on the rules. The offending ones are below libraries/parallel/Control/Parallel/Strategies.hs:513:2: warning: Rule "parList/rseq" may never fire because 'rseq' might inline first Probable fix: add an INLINE[n] or NOINLINE[n] pragma for 'rseq' libraries/parallel/Control/Parallel/Strategies.hs:582:1: warning: Rule "evalBuffer/rseq" may never fire because 'rseq' might inline first Probable fix: add an INLINE[n] or NOINLINE[n] pragma for 'rseq' libraries/parallel/Control/Parallel/Strategies.hs:583:1: warning: Rule "parBuffer/rseq" may never fire because 'rseq' might inline first Probable fix: add an INLINE[n] or NOINLINE[n] pragma for 'rseq' All three appear to be always-active, and hence will run in the first phase (2). So delaying inlining rseq to phase 1 (phases count downwards) would do. So INLINE[1] or NOINLINE[1] | (I always have to look up the documentation for these, just a | suggestion but maybe it would be better to call them INLINEAFTER[n] | and INLINEBEFORE[n], or something?) Maybe. But NOINLINE[n] means "do not inline until phase n; and you are free to do what you like thereafter" So it would have to be NOINLINEUNTIL[n]. But yes, that'd be quite do-able. Simon | | Cheers | Simon