Skip to content

Cleanups around kernel side of Require - #22292

Open
SkySkimmer wants to merge 3 commits into
rocq-prover:masterfrom
SkySkimmer:lib-twice
Open

Cleanups around kernel side of Require#22292
SkySkimmer wants to merge 3 commits into
rocq-prover:masterfrom
SkySkimmer:lib-twice

Conversation

@SkySkimmer

Copy link
Copy Markdown
Contributor

We can remove some weird code checking that a required library already exists by moving it out of the libobject system.
We also enforce in the kernel that the imported library doesn't already exist instead of doing whatever it does in master.

This lets us remove some code to check that the library isn't already
loaded since we won't rerun the kernel load at module and section end.
…me twice

Safe_typing.close_section replays Requires in a strange way so gets an
internal flag to avoid the error.  Could probably be done in a better
way but would need to understand exactly what needs and doesn't need replaying.
@SkySkimmer SkySkimmer added this to the 9.4+rc1 milestone Jul 20, 2026
@SkySkimmer
SkySkimmer requested review from a team as code owners July 20, 2026 13:49
@SkySkimmer SkySkimmer added the request: full CI Use this label when you want your next push to trigger a full CI. label Jul 20, 2026
@coqbot-app coqbot-app Bot removed the request: full CI Use this label when you want your next push to trigger a full CI. label Jul 20, 2026
@ppedrot ppedrot self-assigned this Jul 20, 2026
@ppedrot ppedrot added the kind: cleanup Code removal, deprecation, refactorings, etc. label Jul 20, 2026
@SkySkimmer

Copy link
Copy Markdown
Contributor Author

This breaks unimath because it breaks interleaving of Global Unset Universe Checking:

(* file1 *)
Global Unset Universe Checking.
(* file2 *)
Require file1.
Universe u. Constraint u < u.
(* file3 *)
Require file2. (* error cannot enforce u < u in PR *)

@SkySkimmer SkySkimmer added the needs: fixing The proposed code change is broken. label Jul 21, 2026
kinda dubious behaviour but easy to restore so why not
@SkySkimmer SkySkimmer added request: full CI Use this label when you want your next push to trigger a full CI. and removed needs: fixing The proposed code change is broken. labels Jul 21, 2026
@coqbot-app coqbot-app Bot removed the request: full CI Use this label when you want your next push to trigger a full CI. label Jul 21, 2026
@ppedrot

ppedrot commented Jul 25, 2026

Copy link
Copy Markdown
Member

Can we get a test for this behaviour?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind: cleanup Code removal, deprecation, refactorings, etc.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants