{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":21998379,"defaultBranch":"main","name":"impl","ownerLogin":"josharian","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2014-07-19T00:37:33.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/67496?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1705516682.0","currentOid":""},"activityList":{"items":[{"before":"e6bec826194aeeb10d241a8a4630a7a9a740d932","after":"fe5f4306088f5afdca704014ff0326063f70dc2d","ref":"refs/heads/main","pushedAt":"2024-04-24T02:02:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"josharian","name":"Josh Bleecher Snyder","path":"/josharian","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/67496?s=80&v=4"},"commit":{"message":"Fix generation failure when multiple type parameters are in the receiver\n\nAlso fixes duplicate method generation for already implemented methods\nof structs with type parameters.","shortMessageHtmlLink":"Fix generation failure when multiple type parameters are in the receiver"}},{"before":"30a6beb5f7ccdb4a2ecc1d257684feebe7fa3549","after":"e6bec826194aeeb10d241a8a4630a7a9a740d932","ref":"refs/heads/main","pushedAt":"2024-01-17T18:36:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"josharian","name":"Josh Bleecher Snyder","path":"/josharian","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/67496?s=80&v=4"},"commit":{"message":"support generics\n\nAdd support for generic interfaces, i.e. interfaces that accept a type parameter.\r\n\r\nFor example, you can now have this kind of interface:\r\n\r\n```go\r\ntype Interface[Kind any] interface {\r\n\tDoTheThing() Kind\r\n}\r\n```\r\n\r\nand if you run `impl 's StringImpl' 'Interface[string]` it will generate\r\nthe following code:\r\n\r\n```go\r\nfunc (s StringImpl) DoTheThing() string {\r\n\t// normal impl stub here\r\n}\r\n```\r\n\r\nAdd a Type abstraction, make type parsing more robust.\r\n\r\nInstead of parsing generic types using string manipulation, parse them using the go/parse package to get the AST.\r\n\r\nRather than passing around a type ID and its params everywhere, create a Type struct that contains both.\r\n\r\nFixes josharian/impl#44.\r\n\r\nCo-authored-by: Josh Bleecher Snyder ","shortMessageHtmlLink":"support generics"}},{"before":"cc2523e288fac68c1134ec4b390be0ff1298ad62","after":"e0454a725c845c4b2a3915730b5e34f1a32420f4","ref":"refs/heads/generics","pushedAt":"2024-01-16T18:29:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"josharian","name":"Josh Bleecher Snyder","path":"/josharian","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/67496?s=80&v=4"},"commit":{"message":"fix CI, I hope","shortMessageHtmlLink":"fix CI, I hope"}},{"before":null,"after":"cc2523e288fac68c1134ec4b390be0ff1298ad62","ref":"refs/heads/generics","pushedAt":"2024-01-16T18:26:57.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"josharian","name":"Josh Bleecher Snyder","path":"/josharian","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/67496?s=80&v=4"},"commit":{"message":"reduce indentation","shortMessageHtmlLink":"reduce indentation"}},{"before":"b4ecb144baaf80c76a34f65bda7263c4d8d07b5c","after":"30a6beb5f7ccdb4a2ecc1d257684feebe7fa3549","ref":"refs/heads/main","pushedAt":"2023-04-12T17:57:20.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"josharian","name":"Josh Bleecher Snyder","path":"/josharian","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/67496?s=80&v=4"},"commit":{"message":"Use *ast.Field.Doc for method comments","shortMessageHtmlLink":"Use *ast.Field.Doc for method comments"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEOKcIlQA","startCursor":null,"endCursor":null}},"title":"Activity ยท josharian/impl"}