Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/generics #17381

Merged
merged 9 commits into from
Mar 29, 2022
Merged

Feature/generics #17381

merged 9 commits into from
Mar 29, 2022

Conversation

jhendrixMSFT
Copy link
Member

  • The purpose of this PR is explained in this or a referenced issue.
  • The PR does not update generated files.
  • Tests are included and/or updated for code changes.
  • Updates to CHANGELOG.md are included.
  • MIT license headers are included in each file.

* Update CI to use Go 1.18beta.2

* add prerelease install template

revert some unneeded changes

* fix parameters references

* fix curl

* use archive names

* fix param

* update linter

* build linters from source, display Go version

* lint clean

* fix smoke test version detection
Specify 1.18 in go.mod file.
* Disable linter for now

Blows up on generic type parameters so disabling until it's working.
Restored installation to its original form.

* skip on linter install failure
NullValue now takes a generic type parameter instead of an interface arg
to determine the type of null sentinel value to create.
IsNullValue infers its generic parameter to determine the type of null
sentinel value to look for.
At present, there is no way to express a 'nillable' generic type
constraint so the funcs simply take a [T any] which should be fine as
they typically take/return pointer-to-types.
The 'to' package has been reduced to two funcs.
* Disable publishing test results for now

It's broken due to lack of generics support.  Test failures will still
block CI though.

* revert fake failure

* exclude track 2 from track 1 Format Check CI step

* refine track 1 gofmt check
* Add generic pager implementation

* refine first page flag and processor vars

* refine per feedback, start adding tests

* fix LRO case, add remaining tests

* more consolidation

* update changelog

* remove page param, use unmarshal instead
Due to lack of support for type aliasing a generic type, we have
duplicate definitions for ARM and data-plane.  We can consolidate the
definitions when type aliasing support is added in the future.
* Clean-up in prep for merging feature/generics to main

Removed some temporary CI changes after rebasing on main.
Added missing entries to the changelog.
Bumped version to v0.23.0 for breaking changes.

* bump golangci-lint to latest version

* switch to temporary fork of gocov
Copy link
Member

@seankane-msft seankane-msft left a comment

Choose a reason for hiding this comment

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

LGTM

@jhendrixMSFT jhendrixMSFT merged commit 0cf20e3 into main Mar 29, 2022
@jhendrixMSFT jhendrixMSFT deleted the feature/generics branch March 29, 2022 00:19
@jhendrixMSFT
Copy link
Member Author

Fixes #16874

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.

2 participants