[SAOC 2025] Separate Semantic Routines from AST Nodes Weekly Update #15

Mohamed El Shorbagy mohrizq895 at gmail.com
Mon Dec 29 22:35:58 UTC 2025


# Summary of Progress (Dec. 22 - Dec. 29)

This week, I finally completed the work of breaking the semantic 
dependency of `mtype` on `typesem`. It has been a long journey 
since some of the moved functions required other functions from 
other AST nodes to be moved as well. Here is a list of the 
remaining PRs that handled that dependency:
- https://github.com/dlang/dmd/pull/22308
- https://github.com/dlang/dmd/pull/22309
- https://github.com/dlang/dmd/pull/22311
- https://github.com/dlang/dmd/pull/22312
- https://github.com/dlang/dmd/pull/22313

After that, I focused on making some of the AST node files 
independent of semantic **helper** files such as `opover`, 
`objc`, etc. Here are those PRs:
- [Break dependency of `dscope` on `importc` and 
`target`](https://github.com/dlang/dmd/pull/22317)
- [Break dependency of `dmodule` on 
`opover`](https://github.com/dlang/dmd/pull/22318)
- [Break dependency of `attrib` on 
`objc`](https://github.com/dlang/dmd/pull/22319)
- [Break dependency of `dclass` on 
`target`](https://github.com/dlang/dmd/pull/22320)

I will continue doing that for the rest of the files.


More information about the Digitalmars-d mailing list