Stop exporting the module name CTLie once @Lie is hygienic
I maintainer di solito rispondono entro 1 giorno
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Summary
Once the @Lie macro is hygienic (control-toolbox/CTLie.jl#40), OptimalControl no longer needs to export the module name CTLie. Stop exporting it, so that using OptimalControl does not bring an implementation package into the user's namespace.
Why it is exported today
src/imports/ctlie.jl has:
# Generated code — the `@Lie` macro emits `CTLie.*` and `CTBase.Traits.*`
# prefixes in its expansion, so both modules must be in scope at the call site.
@reexport import CTLie: CTLie # for generated code (prefix)
That is the only reason: the expansion of @Lie names CTLie and CTBase.Traits in the caller's module. The functions and the macro (ad, Lift, Poisson, ∂ₜ, @Lie, dg_ad_backend, dg_ad_backend!) are re-exported by name and stay.
To do, after CTLie#40 is released
- Bump the CTLie compat to the release that has the hygienic expansion.
- Remove the line
@reexport import CTLie: CTLieand its comment insrc/imports/ctlie.jl. Keepimport CTLie: …where the module is used inside OptimalControl (using CTLie: CTLieinsrc/OptimalControl.jl,LiftedHamiltonianFunction,src/deprecated.jl). - Update the re-export test,
test/suite/reexport/test_ctlie.jl, which checks the exported names. - Check that
@Liestill works from a module that did onlyimport OptimalControlorusing OptimalControl: @Lie, and add that as a test. - Update the documentation, page "The
@Liemacro" (docs/src/geometry/lie-macro.md): drop the section "using OptimalControlis needed", and the hidden check that it fails without it.
Not in scope
CTBasestays exported: it is used for other things (exceptions,CTBase.Differentiationin the docs), and the@defmacro of CTParser still names modules in its expansion. Whether@defcan also become hygienic is a separate question, in CTParser.- This is a change of the exported names, so mention it in
BREAKING.mdand the changelog of the release that makes it.
- Lingua principale
- Julia
- Stelle
- 135
- Fork
- 11
- Merge medio
- 7h 51m
- PR unite (30g)
- 22
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di control-toolbox/OptimalControl.jl
-
[Doc] User guide to the duals: every kind, constraint ↔ dual, direct ↔ indirectForse già presa @ocots l’ha presa 6 giorni fa. Aperta
control-toolbox/OptimalControl.jl#1035 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Tests of the duals: every kind of constraint, direct vs indirect, pinned algorithmsForse già presa @ocots l’ha presa 6 giorni fa. Aperta
control-toolbox/OptimalControl.jl#1034 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
[Doc] Examples for the sign convention of duals and costate (min/max, writing of constraints, direct vs indirect)Forse già presa @ocots l’ha presa 14 giorni fa. Aperta
control-toolbox/OptimalControl.jl#1016 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Documentation: sign conventions (min/max, p⁰, constraints, duals) and how they appear in a solutionForse già presa @ocots l’ha presa 17 giorni fa. Apertadocumentation
control-toolbox/OptimalControl.jl#1015 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Tests fail on Julia 1.13: keyword-only anonymous function in test/problems/goddard.jlForse già presa @ocots l’ha presa 18 giorni fa. Aperta
control-toolbox/OptimalControl.jl#996 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di control-toolbox/OptimalControl.jl
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Add project: Typst_jll.jlForse già presa @github-actions l’ha presa oggi. Apertaadd-project
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 76/100
YDX-2147483647/best-of-typst#590 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100