Repository navigation
Conversation
EfxCtxInput::parse consumed the comma between ctx and template, then tried to parse a second comma after the template, so every efx_ctx! call failed with "expected `,`" (efx-sandbox did not compile). - Drop the extra `_comma` field from EfxCtxInput. - Make the unknown-tag error explain the component file lookup and re-bless tests/ui/unknown_tag.stderr. - Add tests/ctx_ok.rs (renders Window/TopPanel/CentralPanel through efx_ctx! against a real egui::Context) and tests/ui/ctx_non_root.rs. - rustfmt efx-core/src/component.rs and collapse a nested `if` flagged by clippy. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Guide for AI agents and contributors: architecture of the efx! codegen, commands and current CI state, branch policy, tag checklist, syntax as actually implemented, verified known issues, roadmap milestones, and a promotion section with a dated baseline, positioning and posting rules. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Library lints (clippy --all-targets --all-features -D warnings): - Remove never-read `element` fields (and their clones) from Image, Table, Tabs and DataTable; children are already parsed into rows/tabs/cells. - data_table.rs: `?` instead of match-return, drop needless borrow, useless `.into()` and let-and-return. Generated code no longer triggers lints in the caller's crate: - Drop the trailing `()` from Window/CentralPanel/TopPanel/ BottomPanel/SidePanel and efx_ctx! expansions (clippy unused_unit fired on every call). - Button/Image `rounding` now emit `corner_radius(CornerRadius::same)` instead of the deprecated `rounding(Rounding::same)` (egui 0.33). - Non-root <Button>/<Hyperlink> discard their Response with `let _ =` (unused #[must_use] warning). Also: show `counter` in efx-sandbox (dead field), add a test that efx_ctx! evaluates to `()` for all five context roots, Changelog entries, AGENTS.md updated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What
1.
efx_ctx!was broken onv0.7(efx/src/input.rs)EfxCtxInput::parseconsumed the comma betweenctxand the template, then the struct literal's_comma: input.parse()?tried to read a second comma after the template. Everyefx_ctx!(ctx, "...")call failed withexpected `,`—efx-sandboxdid not compile onv0.7. Fix: drop the_commafield.2. Failing trybuild case
tests/ui/unknown_tag.rsSince unknown tags now go through the
.efxcomponent lookup, the error text had changed. The message now explains the lookup and stays machine-independent (no absolute paths):.stderrre-blessed withTRYBUILD=overwrite.3. Regression tests
efx/tests/ctx_ok.rs— rendersWindow,TopPanel,CentralPanelviaefx_ctx!against a realegui::Context(insidectx.run), plus a call with an expression ctx (&app.ctx). Verified it fails without the fix.efx/tests/ui/ctx_non_root.rs— compile error when the root is not a context-root tag.4. Housekeeping —
rustfmtonefx-core/src/component.rsand a collapsed nestedif(clippycollapsible_if); it was the first clippy error and hid the rest.5.
AGENTS.md(separate commit) — guide for AI agents and contributors: codegen architecture, commands and CI state, branch policy, tag checklist, syntax as actually implemented, verified known issues, roadmap, and a promotion section with a dated baseline.6. Clippy-clean
v0.7(third commit)elementfields (+ their clones) fromImage,Table,Tabs,DataTable;data_table.rslints (question_mark,needless_borrow,useless_conversion,let_and_return).clippy -D warningson an app using EFx hit them:()inWindow/CentralPanel/TopPanel/BottomPanel/SidePanelandefx_ctx!expansions →clippy::unused_unit;Button/Imageroundingemitted deprecatedegui::Rounding/.rounding()→ nowcorner_radius(CornerRadius::same(..));<Button>/<Hyperlink>left a#[must_use]Responseunused → nowlet _ = ….efx_ctx!evaluates to()for all five context roots (guards the()removal).efx-sandbox:counterfield is now displayed (was dead code). Changelog entries under 0.7.Verification (rustc/clippy 1.99.1)
cargo test --all-targets --all-features— green (same astest.yml), incl. trybuild and doctestscargo clippy --all-targets --all-features -- -D warnings— green (same asclippy.yml); also green without--all-featurescargo fmt --all -- --check— cleancargo build -p efx --examples,cargo build -p efx-sandbox— buildButton(plain + styled),Hyperlink(both modes),TextField,Window open=passedclippy -D warningsReviewer notes
v0.7(notmain) per CONTRIBUTING.md; againstmainthis would drag in all unreleased 0.7 commits.<Hyperlink>returnsResponseonly in "advanced" mode; in simple mode it evaluates to(). Pre-existing, left as is, noted in AGENTS.md.eframe_demonot run locally — CI covers it.🤖 Generated with Claude Code