You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Summary
- **Arrow function definitions exempt**: `const fn = () =>
Main.layoutManager.monitors` at module scope is lazy — the body isn't
executed at load time, so it's not an init-time violation
- **Constructor checks restricted to extension.js**: Helper file
constructors are runtime-only (instantiated from `enable()`), matching
the existing GObject constructor restriction
Closes#15
## Test plan
- [x] New fixture: `tests/fixtures/init-time-safety@test/` with
`extension.js` (true violation + arrow fn) and `helper.js` (constructor
with Shell globals)
- [x] Assertions verify: FAIL on module-scope Main access, no FP on
arrow fn definition, no FP on helper constructor
- [x] `bash tests/run-tests.sh` passes (514 assertions)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
0 commit comments