go2generics icon indicating copy to clipboard operation
go2generics copied to clipboard

🧪 A chunk of experiments and demos about Go 2 generics design (type parameter & type set)

go2generics

A chunk of demos for Go generics design (based on type parameters and type sets).

Standard Package

Package constraints

See the official implementation here.

Package slices

See the official implementation here.

Package maps

See the official implementation here.

Package container/set

This package is from the following discussions:

  • golang/go#47331 proposal: container/set: new package to provide a generic set type (discussion)

See a possible implementation here.

Others (under discussion)

Further Examples

See folders in this repository.

Known Issues

  • https://go.dev/issue/45639
  • https://go.dev/issue/51338
  • sync/*
  • notsupport/*

References

Here are some documents to get familiar with the spirit of generics:

  • Changkun Ou. A Summary of Go Generics Research 2020.08. Last Updates: 2021.08.
  • Changkun Ou. Go 2 Generics: Type Parameters. https://changkun.de/s/go2generics/.

Licnese

BSD-2-Clause

Copyright © 2020-2021 Changkun Ou