-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Open
Labels
Description
Meson should be completely type safe.
The following modules are still not fully type safe:
- mesonmain.py
- modules/cmake.py
- modules/dlang.py (modules/dlang: Fix typing issues #15041)
- modules/python.py (mostly blocked by dependency typing and remaining build target typing)
- modules/hotdoc.py
- modules/python3.py
- munstable_coredata.py
- rewriter.py
- ast/interpreter.py
- interpreter/dependencyfallbacks.py (use
typed_kwargsfor Dependency #12057) - interpreter/interpreter.py
- Enforce type checking for the
dependencyusetyped_kwargsfor Dependency #12057 - refactor conversion of keyword arguments by breaking up
build_target. It's a typing nightmare - finish type enforcement for build_target types
- dependencies
- link_whole (use typed_kwargs for build_target's link_with and link_whole keyword arguments #15347)
- link_with (use typed_kwargs for build_target's link_with and link_whole keyword arguments #15347)
- link_args (build|interpreter: use typed_kwargs for BuildTarget(link_args) #15343)
- include_directories
- install_dir (Clean up BuildTarget(install_dir) #15185)
- install_tag (build|interpreter: use typed_kwargs for BuildTarget(install_tag) #15342)
- *_pch (Use
typed_kwargsfor *_pch #15209) - extra_files - still does some unique validation in the build layer (interpreter: Move validation of BuildTarget(extra_files) to Interpreter #15189)
- vala_header (Use typed_kwargs for
vala_*BuildTarget arguments #15129) - vala_gir (Use typed_kwargs for
vala_*BuildTarget arguments #15129) - vala_vapi (Use typed_kwargs for
vala_*BuildTarget arguments #15129)
- Enforce type checking for the
- dependency (use
typed_kwargsfor Dependency #12057) - backend/vs20*backend.py (Type safety for the VisualStudio Backend(s) #14219)
- backend/ninjabackend.py
- backend/xcodebackend.py
- mesondata.py (mesondata: fix mypy warnings #15349)
- options.py (Make the new options module fully type safe #13620)
- coredata.py
- environment.py (Make the Environment module fully type safe #14247)
- build.py
- remove duplicated checks between the interpreter and the build module (De-duplicate argument validation in the build module #14133)
Additional work:
- Use additional typing features for better type safty
- Make programming languages a
Literal(Use typing features for supported languages #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.