Skip to content

doc(mixin): clarify precedence rules and document limitations#196

Merged
fredbi merged 1 commit into
go-openapi:masterfrom
fredbi:fix/go-swagger-issues
May 25, 2026
Merged

doc(mixin): clarify precedence rules and document limitations#196
fredbi merged 1 commit into
go-openapi:masterfrom
fredbi:fix/go-swagger-issues

Conversation

@fredbi
Copy link
Copy Markdown
Member

@fredbi fredbi commented May 25, 2026

Rewrite the Mixin godoc into three labeled sections:

  • Argument order and precedence, with a worked host example showing that the primary always wins on collision and that mixins are listed in decreasing priority order.
  • What gets merged, enumerating exactly which fields are filled from empty primaries, which are merged entry-by-entry with collision warnings, and which are unioned silently (schemes, consumes, produces).
  • Notes and limitations, with cross-references to the new goswagger.io FAQ entries on YAML anchor preservation and on output ordering.

This is a documentation-only change addressing user-confusion issues in go-swagger/go-swagger:

Companion FAQ entries land in go-swagger/go-swagger docs/faq/faq_swagger.md and the canonical reference moves into docs/usage/mixin.md.

Change type

Please select: 🆕 New feature or enhancement|🔧 Bug fix'|📃 Documentation update

Short description

Fixes

Full description

Checklist

  • I have signed all my commits with my name and email (see DCO. This does not require a PGP-signed commit
  • I have rebased and squashed my work, so only one commit remains
  • I have added tests to cover my changes.
  • I have properly enriched go doc comments in code.
  • I have properly documented any breaking change.

Rewrite the Mixin godoc into three labeled sections:

* Argument order and precedence, with a worked host example showing
  that the primary always wins on collision and that mixins are listed
  in decreasing priority order.
* What gets merged, enumerating exactly which fields are filled from
  empty primaries, which are merged entry-by-entry with collision
  warnings, and which are unioned silently (schemes, consumes,
  produces).
* Notes and limitations, with cross-references to the new goswagger.io
  FAQ entries on YAML anchor preservation and on output ordering.

This is a documentation-only change addressing user-confusion issues
in go-swagger/go-swagger:

* go-swagger/go-swagger#1823 (precedence)
* go-swagger/go-swagger#1928 (YAML anchors not preserved)
* go-swagger/go-swagger#2130 (output is alphabetically ordered; this
  is an architectural constraint inherited from the underlying spec
  model, not fixable here)

Companion FAQ entries land in go-swagger/go-swagger
docs/faq/faq_swagger.md and the canonical reference moves into
docs/usage/mixin.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Frederic BIDON <fredbi@yahoo.com>
@codecov
Copy link
Copy Markdown

codecov Bot commented May 25, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.01%. Comparing base (c2f261a) to head (66496b1).
⚠️ Report is 11 commits behind head on master.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #196   +/-   ##
=======================================
  Coverage   92.01%   92.01%           
=======================================
  Files          30       30           
  Lines        3394     3394           
=======================================
  Hits         3123     3123           
  Misses        189      189           
  Partials       82       82           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@fredbi fredbi merged commit 323d24f into go-openapi:master May 25, 2026
25 checks passed
@fredbi fredbi deleted the fix/go-swagger-issues branch May 25, 2026 20:01
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.

1 participant