meson
meson copied to clipboard
Tracking Issue for type safety PRs
Meson should be completely type safe.
The following modules are still not fully type safe:
- [ ] mesonmain.py
- [x] modules/cmake.py
- [x] modules/dlang.py (https://github.com/mesonbuild/meson/pull/15041)
- [ ] modules/python.py (https://github.com/mesonbuild/meson/pull/15406)
- [ ] modules/hotdoc.py
- [ ] modules/python3.py
- [ ] munstable_coredata.py
- [ ] rewriter.py
- [ ] ast/interpreter.py
- [x] interpreter/dependencyfallbacks.py (https://github.com/mesonbuild/meson/pull/12057)
- [ ] interpreter/interpreter.py
- [x] Enforce type checking for the
dependencyhttps://github.com/mesonbuild/meson/pull/12057 - [ ] refactor conversion of keyword arguments by breaking up
build_target. It's a typing nightmare - [x] finish type enforcement for build_target types
- [x] dependencies (https://github.com/mesonbuild/meson/pull/15374)
- [x] link_whole (https://github.com/mesonbuild/meson/pull/15347)
- [x] link_with (https://github.com/mesonbuild/meson/pull/15347)
- [x] link_args (https://github.com/mesonbuild/meson/pull/15343)
- [x] include_directories (https://github.com/mesonbuild/meson/pull/15373)
- [x] install_dir (https://github.com/mesonbuild/meson/pull/15375)
- [x] install_tag (https://github.com/mesonbuild/meson/pull/15342)
- [x] *_pch (https://github.com/mesonbuild/meson/pull/15209)
- [x] extra_files - still does some unique validation in the build layer (https://github.com/mesonbuild/meson/pull/15189)
- [x] vala_header (https://github.com/mesonbuild/meson/pull/15129)
- [x] vala_gir (https://github.com/mesonbuild/meson/pull/15129)
- [x] vala_vapi (https://github.com/mesonbuild/meson/pull/15129)
- [x] Enforce type checking for the
- [x] dependency (https://github.com/mesonbuild/meson/pull/12057)
- [ ] backend/vs20*backend.py (https://github.com/mesonbuild/meson/pull/14219)
- [ ] backend/ninjabackend.py
- [ ] backend/xcodebackend.py
- [ ] mesondata.py (https://github.com/mesonbuild/meson/pull/15349)
- [x] options.py (https://github.com/mesonbuild/meson/pull/13620)
- [x] coredata.py
- [x] environment.py (https://github.com/mesonbuild/meson/pull/14247)
- [ ] build.py
- [x] remove duplicated checks between the interpreter and the build module (https://github.com/mesonbuild/meson/pull/14133)
- [ ] make the install_dirs interface more intuitive with vala (https://github.com/mesonbuild/meson/pull/15185)
Additional work:
- [ ] Use additional typing features for better type safty
- [ ] Make programming languages a
Literal(#14784)
- [ ] Make programming languages a
- [ ] Turn on strict-null checking (requires every module to be fully type safe).
- [ ] Refactor the way that build targets track outputs, install_dirs, installation, and install_tags We have to do a lot of checking to ensure that the four independent data sources do not have different lengths, if the BuildTargets stored them together as a single unit that would not be required.