Conversation
`model/model.go` is accessing from the github repo, so to test changes to it we need to make sure it is read from the correct local folder instead.
There was a problem hiding this comment.
Pull Request Overview
This pull request fixes the printing of embedded fields when using depstubber by preventing redundant field names in the output.
- In reflect.go, a commented code block has been added to aid local testing by appending a replace directive to go.mod.
- In model/model.go, an Anonymous field flag has been introduced in the Field struct and the Field.String() method has been updated to avoid printing the type name twice for embedded fields.
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| reflect.go | Added a commented section for local development testing that appends a replace directive to go.mod. |
| model/model.go | Introduced an Anonymous field and updated Field.String() to correctly print embedded fields without repetition. |
Comments suppressed due to low confidence (2)
reflect.go:120
- [nitpick] Consider adding a note or using build tags so that the commented testing code is clearly marked for removal or activation only in development environments.
// To enable local development of model/model.go, uncomment the following lines
model/model.go:607
- Ensure that there is adequate test coverage verifying that anonymous fields are printed correctly without duplicating field names.
if f.Anonymous {
Tip: If you use Visual Studio Code, you can request a review from Copilot before you push from the "Source Control" tab. Learn more
smowton
approved these changes
Mar 21, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A struct type like this
was getting printed by depstubber as
This fixes that.
It was hard to test it locally because
model/model.gois accessed from the github repo. I had to add some code after copying the go.mod file to add a redirection to it so that it uses the local copy. I have left this in, commented out, to make it easier to test this kind of changing in future.Unfortunately I was not able to find any way to avoid printing promoted methods as if they were methods on the type itself. It seems this is deliberately not exposed in the
reflectpackage.