Skip to content

Conversation

@ajay-mk
Copy link
Member

@ajay-mk ajay-mk commented Dec 17, 2025

  • Updates VEV-related files:
    • Introduces vac_av.cpp
    • vac_av files are not included in op files anymore.
  • Moves vev impl functions out of detail namespace:
    • Since op is an inlined namespace, mbpt::op::detail and op::detail are ambiguous.

Removes vac_av.ipp, it was introduced when we used to have sr/mr interfaces and had a common vev method. Not needed anymore, this is cleaner.
Adds include headers to vac_av.hpp
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors the vac_av module to eliminate namespace ambiguity and improve code organization by converting the include-only implementation file (.ipp) to a proper source file (.cpp).

Key changes:

  • Converts vac_av.ipp to vac_av.cpp with proper header guards and namespace structure
  • Removes nested detail namespace from header declarations, keeping it only in the implementation to resolve namespace ambiguity with op::detail
  • Removes duplicate can_change_qns function definition from op.cpp

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated no comments.

Show a summary per file
File Description
SeQuant/domain/mbpt/vac_av.hpp Adds header guards, removes detail namespace from function declaration, adds proper namespace closing
SeQuant/domain/mbpt/vac_av.cpp Converts from .ipp to .cpp, adds complete includes, implements functions in detail namespace, fixes typo in error message
SeQuant/domain/mbpt/op.hpp Removes include of vac_av.hpp to break circular dependency
SeQuant/domain/mbpt/op.cpp Removes include of vac_av.ipp and duplicate can_change_qns function
tests/unit/test_mbpt.cpp Adds explicit include for vac_av.hpp
python/src/sequant/mbpt.h Adds explicit include for vac_av.hpp
doc/examples/user/operator.cpp Adds explicit include for vac_av.hpp
doc/examples/user/getting_started/ccd.cpp Adds explicit include for vac_av.hpp
doc/examples/synopsis/synopsis6.cpp Adds explicit include for vac_av.hpp
SeQuant/domain/mbpt/models/cc.hpp Adds explicit include for vac_av.hpp
CMakeLists.txt Updates build configuration to reference .cpp instead of .ipp
Comments suppressed due to low confidence (1)

SeQuant/domain/mbpt/vac_av.cpp:146

  • The typo "mpbt" has been corrected to "mbpt" in the error message, and the namespace path has been made more specific.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@ajay-mk ajay-mk requested review from evaleev and removed request for evaleev December 17, 2025 18:19
@ajay-mk ajay-mk marked this pull request as draft December 17, 2025 18:41
Doing this for consistency. Since op namespace is inlined, op::detail and mbpt::detail is ambiguous.
@ajay-mk ajay-mk marked this pull request as ready for review December 17, 2025 20:47
@ajay-mk ajay-mk requested a review from evaleev December 19, 2025 15:13
@evaleev evaleev merged commit f56095d into master Dec 25, 2025
21 of 22 checks passed
@evaleev evaleev deleted the ajay/fix/mbpt-detail-ambiguity branch December 25, 2025 21:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants