Interleave: do not interleave pragmas in IDE mode, just like batch #3909
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We've long ignored the pragmas in an fsti when checking an fst (#1142). This helps in preventing tons of confusion when checking an fst file, as otherwise the rlimit/fuel/ifuel can change under the user's feet as they check a file.
However, in the IDE mode, when the pragma was near the top of the fsti (more specifically in the first chunk that would be interleaved) in the fst, this was still being interleaved. This is since when try to find the relevant decls to interleave from the fsti before the top-level
module Foo
decl, and that returns the empty set, so they remaing in theremaining_iface_vals
which are still returned, but were unfiltered.This lead to a long headache just now while noticing a file failing in the IDE, but that had succeeded repeatedly in batch mode.
Fix this by just filtering out all the pragmas before any kind of interleaving, which should be more robust.