{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":737480920,"defaultBranch":"main","name":"thinset","ownerLogin":"Chriscbr","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-12-31T07:34:25.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/5008987?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1709001992.0","currentOid":""},"activityList":{"items":[{"before":"80cb6b98095a5ac2dd878a5a1160a5e73dd7f9ed","after":"1c2d8c098c06d2d97e97133a4673cbe6f8073c15","ref":"refs/heads/main","pushedAt":"2024-02-27T22:08:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Chriscbr","name":"Chris Rybicki","path":"/Chriscbr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5008987?s=80&v=4"},"commit":{"message":"Draft an ARCHITECTURE.md file to explain thinset's design (#24)","shortMessageHtmlLink":"Draft an ARCHITECTURE.md file to explain thinset's design (#24)"}},{"before":"de2d76ee1f84edd366d4208deb70941c35238765","after":null,"ref":"refs/heads/rybickic/fix-safety","pushedAt":"2024-02-27T02:46:32.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Chriscbr","name":"Chris Rybicki","path":"/Chriscbr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5008987?s=80&v=4"}},{"before":"6ec2eb4b6e2868bd89595822d4c040e50876daf4","after":"80cb6b98095a5ac2dd878a5a1160a5e73dd7f9ed","ref":"refs/heads/main","pushedAt":"2024-02-27T02:46:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Chriscbr","name":"Chris Rybicki","path":"/Chriscbr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5008987?s=80&v=4"},"commit":{"message":"Fix safety hole, use zeroed memory for set allocations (#25)\n\n* fix safety hole\r\n\r\n* update comment","shortMessageHtmlLink":"Fix safety hole, use zeroed memory for set allocations (#25)"}},{"before":"57295e532d3392cd7ab0e41f69cca7b0a27fe0f5","after":"de2d76ee1f84edd366d4208deb70941c35238765","ref":"refs/heads/rybickic/fix-safety","pushedAt":"2024-02-23T22:23:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chriscbr","name":"Chris Rybicki","path":"/Chriscbr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5008987?s=80&v=4"},"commit":{"message":"update comment","shortMessageHtmlLink":"update comment"}},{"before":null,"after":"57295e532d3392cd7ab0e41f69cca7b0a27fe0f5","ref":"refs/heads/rybickic/fix-safety","pushedAt":"2024-02-23T22:12:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Chriscbr","name":"Chris Rybicki","path":"/Chriscbr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5008987?s=80&v=4"},"commit":{"message":"fix safety hole","shortMessageHtmlLink":"fix safety hole"}},{"before":"eb5dabe39a14f08c19eb2b98a12e51e159a6bfd3","after":"6ec2eb4b6e2868bd89595822d4c040e50876daf4","ref":"refs/heads/main","pushedAt":"2024-02-01T11:16:03.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"thass0","name":"Thassilo Schulze","path":"/thass0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89748807?s=80&v=4"},"commit":{"message":"Merge pull request #23 from Chriscbr/rybickic/relax-copy-constraint\n\nRelax SparseMap's Copy constraint, change `SparseMap::remove`, add examples","shortMessageHtmlLink":"Merge pull request #23 from Chriscbr/rybickic/relax-copy-constraint"}},{"before":"f63e600861b08ee3085fb0b78593455cb865cb4e","after":"3cb93ea91babe650b3b91b0e29edf9713e5fa761","ref":"refs/heads/rybickic/relax-copy-constraint","pushedAt":"2024-02-01T03:55:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chriscbr","name":"Chris Rybicki","path":"/Chriscbr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5008987?s=80&v=4"},"commit":{"message":"Try improving the comment","shortMessageHtmlLink":"Try improving the comment"}},{"before":null,"after":"f63e600861b08ee3085fb0b78593455cb865cb4e","ref":"refs/heads/rybickic/relax-copy-constraint","pushedAt":"2024-02-01T03:40:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Chriscbr","name":"Chris Rybicki","path":"/Chriscbr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5008987?s=80&v=4"},"commit":{"message":"Refactor remove API, add examples","shortMessageHtmlLink":"Refactor remove API, add examples"}},{"before":"3dac93757b4b0d0f40bbf43cdabfea48c04460e4","after":"eb5dabe39a14f08c19eb2b98a12e51e159a6bfd3","ref":"refs/heads/main","pushedAt":"2024-02-01T02:07:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chriscbr","name":"Chris Rybicki","path":"/Chriscbr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5008987?s=80&v=4"},"commit":{"message":"bump to 0.4.0","shortMessageHtmlLink":"bump to 0.4.0"}},{"before":"6e44184526393dc6ae6985989ef6de83f66f041b","after":null,"ref":"refs/heads/rybickic/union","pushedAt":"2024-01-29T00:08:33.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Chriscbr","name":"Chris Rybicki","path":"/Chriscbr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5008987?s=80&v=4"}},{"before":"a9061532f5efd9db34341e6905c436a361aa67bd","after":null,"ref":"refs/heads/rybickic/bench","pushedAt":"2024-01-29T00:07:40.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Chriscbr","name":"Chris Rybicki","path":"/Chriscbr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5008987?s=80&v=4"}},{"before":"fe01b7a9ff0c5db81d04312fcccbd6642dc36d10","after":"3dac93757b4b0d0f40bbf43cdabfea48c04460e4","ref":"refs/heads/main","pushedAt":"2024-01-29T00:07:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Chriscbr","name":"Chris Rybicki","path":"/Chriscbr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5008987?s=80&v=4"},"commit":{"message":"Add `map!` macro and basic benchmarks (#21)\n\n* feat: benchmarks, map macro\r\n\r\n* ok maybe the number of cores is irrelevant...\r\n\r\n* fix","shortMessageHtmlLink":"Add map! macro and basic benchmarks (#21)"}},{"before":"0515439675265487e3c79d808cf0fff0e05c1bf8","after":"a9061532f5efd9db34341e6905c436a361aa67bd","ref":"refs/heads/rybickic/bench","pushedAt":"2024-01-28T10:15:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chriscbr","name":"Chris Rybicki","path":"/Chriscbr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5008987?s=80&v=4"},"commit":{"message":"fix","shortMessageHtmlLink":"fix"}},{"before":"92fa884b99fa40b0f1e1efc9f4b51e85e70c6366","after":"0515439675265487e3c79d808cf0fff0e05c1bf8","ref":"refs/heads/rybickic/bench","pushedAt":"2024-01-28T10:00:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chriscbr","name":"Chris Rybicki","path":"/Chriscbr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5008987?s=80&v=4"},"commit":{"message":"ok maybe the number of cores is irrelevant...","shortMessageHtmlLink":"ok maybe the number of cores is irrelevant..."}},{"before":null,"after":"92fa884b99fa40b0f1e1efc9f4b51e85e70c6366","ref":"refs/heads/rybickic/bench","pushedAt":"2024-01-28T09:58:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Chriscbr","name":"Chris Rybicki","path":"/Chriscbr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5008987?s=80&v=4"},"commit":{"message":"feat: benchmarks, map macro","shortMessageHtmlLink":"feat: benchmarks, map macro"}},{"before":"367f93a883e593904eb57a7620611a260d10b2ee","after":"fe01b7a9ff0c5db81d04312fcccbd6642dc36d10","ref":"refs/heads/main","pushedAt":"2024-01-19T20:54:58.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"thass0","name":"Thassilo Schulze","path":"/thass0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89748807?s=80&v=4"},"commit":{"message":"Merge pull request #17 from thass0/iter-union\n\nIterator-based universal `Union`","shortMessageHtmlLink":"Merge pull request #17 from thass0/iter-union"}},{"before":"fb58d444779f840b31b3134b468d988f2e486c89","after":"367f93a883e593904eb57a7620611a260d10b2ee","ref":"refs/heads/main","pushedAt":"2024-01-19T20:54:42.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"thass0","name":"Thassilo Schulze","path":"/thass0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89748807?s=80&v=4"},"commit":{"message":"Merge pull request #16 from thass0/in-trait\n\nAdd `is_in` method to all value types in a set","shortMessageHtmlLink":"Merge pull request #16 from thass0/in-trait"}},{"before":"5bd1b11d43a614283c94823b4b41a01b02636b02","after":"fb58d444779f840b31b3134b468d988f2e486c89","ref":"refs/heads/main","pushedAt":"2024-01-18T08:35:36.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"thass0","name":"Thassilo Schulze","path":"/thass0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89748807?s=80&v=4"},"commit":{"message":"Merge pull request #15 from thass0/sub-and-supersets\n\nAdd predicates for subsets, supersets, and disjoint sets","shortMessageHtmlLink":"Merge pull request #15 from thass0/sub-and-supersets"}},{"before":"23a38375486baaa6b1b57ab5a18272ca69a64f25","after":"5bd1b11d43a614283c94823b4b41a01b02636b02","ref":"refs/heads/main","pushedAt":"2024-01-15T08:02:07.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"thass0","name":"Thassilo Schulze","path":"/thass0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89748807?s=80&v=4"},"commit":{"message":"Merge pull request #14 from Chriscbr/rybickic/union\n\nAdd `union`, `union_with` methods to `SparseSet`","shortMessageHtmlLink":"Merge pull request #14 from Chriscbr/rybickic/union"}},{"before":"f5b83421b58a814374316c2f0209664e9c0d1916","after":"23a38375486baaa6b1b57ab5a18272ca69a64f25","ref":"refs/heads/main","pushedAt":"2024-01-15T05:08:31.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Chriscbr","name":"Chris Rybicki","path":"/Chriscbr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5008987?s=80&v=4"},"commit":{"message":"fix badges","shortMessageHtmlLink":"fix badges"}},{"before":"e6e53420c17f340b211fcb8ee356b8a09de0d692","after":"6e44184526393dc6ae6985989ef6de83f66f041b","ref":"refs/heads/rybickic/union","pushedAt":"2024-01-15T04:50:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chriscbr","name":"Chris Rybicki","path":"/Chriscbr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5008987?s=80&v=4"},"commit":{"message":"reword","shortMessageHtmlLink":"reword"}},{"before":"b81d500903b28e8845f6a48b58dc9ba00363fd13","after":"e6e53420c17f340b211fcb8ee356b8a09de0d692","ref":"refs/heads/rybickic/union","pushedAt":"2024-01-15T04:47:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chriscbr","name":"Chris Rybicki","path":"/Chriscbr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5008987?s=80&v=4"},"commit":{"message":"cargo rdme","shortMessageHtmlLink":"cargo rdme"}},{"before":null,"after":"b81d500903b28e8845f6a48b58dc9ba00363fd13","ref":"refs/heads/rybickic/union","pushedAt":"2024-01-15T04:46:09.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Chriscbr","name":"Chris Rybicki","path":"/Chriscbr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5008987?s=80&v=4"},"commit":{"message":"add union methods","shortMessageHtmlLink":"add union methods"}},{"before":"5d206ab04c20eca1e2013ebd3c6ff3c6bbd1e715","after":null,"ref":"refs/heads/rybickic/debug-eq","pushedAt":"2024-01-14T22:02:20.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Chriscbr","name":"Chris Rybicki","path":"/Chriscbr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5008987?s=80&v=4"}},{"before":"87fc1eef154d077df8d8be562fbde8388b3305eb","after":"f5b83421b58a814374316c2f0209664e9c0d1916","ref":"refs/heads/main","pushedAt":"2024-01-14T22:02:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Chriscbr","name":"Chris Rybicki","path":"/Chriscbr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5008987?s=80&v=4"},"commit":{"message":"Implement `Debug`, `PartialEq`, `Eq` traits (#13)\n\n* Implement Debug, PartialEq, Eq traits\r\n\r\n* partial eq test","shortMessageHtmlLink":"Implement Debug, PartialEq, Eq traits (#13)"}},{"before":"184239599fcf694e52e93b2269006adfdf11bd70","after":"5d206ab04c20eca1e2013ebd3c6ff3c6bbd1e715","ref":"refs/heads/rybickic/debug-eq","pushedAt":"2024-01-14T09:11:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chriscbr","name":"Chris Rybicki","path":"/Chriscbr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5008987?s=80&v=4"},"commit":{"message":"partial eq test","shortMessageHtmlLink":"partial eq test"}},{"before":null,"after":"184239599fcf694e52e93b2269006adfdf11bd70","ref":"refs/heads/rybickic/debug-eq","pushedAt":"2024-01-14T09:03:59.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Chriscbr","name":"Chris Rybicki","path":"/Chriscbr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5008987?s=80&v=4"},"commit":{"message":"Implement Debug, PartialEq, Eq traits","shortMessageHtmlLink":"Implement Debug, PartialEq, Eq traits"}},{"before":"99a2a7b0bc0c7adbb27bae4be29261269394f93d","after":"87fc1eef154d077df8d8be562fbde8388b3305eb","ref":"refs/heads/main","pushedAt":"2024-01-13T11:37:56.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"thass0","name":"Thassilo Schulze","path":"/thass0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89748807?s=80&v=4"},"commit":{"message":"Merge pull request #11 from d4ckard/index-impl\n\nImplement `Index` and `IndexMut` for `SparseMap`","shortMessageHtmlLink":"Merge pull request #11 from d4ckard/index-impl"}},{"before":"a5121fcf91406f401d1954750ca1c6ed4398cca0","after":"99a2a7b0bc0c7adbb27bae4be29261269394f93d","ref":"refs/heads/main","pushedAt":"2024-01-13T11:37:32.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"thass0","name":"Thassilo Schulze","path":"/thass0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89748807?s=80&v=4"},"commit":{"message":"Merge pull request #12 from d4ckard/default-impl\n\nImplement `Default` for `SparseMap` and `SparseSet`","shortMessageHtmlLink":"Merge pull request #12 from d4ckard/default-impl"}},{"before":"c1a644f08cfd267a455ed56d143da23d1e301073","after":"a5121fcf91406f401d1954750ca1c6ed4398cca0","ref":"refs/heads/main","pushedAt":"2024-01-04T21:08:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Chriscbr","name":"Chris Rybicki","path":"/Chriscbr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5008987?s=80&v=4"},"commit":{"message":"Add `SparseMap` as underlying data strucutre (#8)\n\n* Automatically grow the set's size\r\n\r\n- Add a `new` function to create a set with an\r\n automatic size.\r\n- Add a `set!` macro to initialize sets.\r\n- Remove name ambiguity between capacity and maximum\r\n value (see issue #5)\r\n\r\n* run cargo fmt\r\n\r\n* Update exmaple in README\r\n\r\n* Cleanup set tests\r\n\r\n`sparse_set_contains_value_out_of_bounds` should not\r\nperform any insertions. Insertions of larger values\r\ninto sets with a capacity that doesn't initially\r\nfit those values are tested in `sparse_set_grow_as_needed`.\r\n\r\n`sparse_set_fit_bounds` is not interesting anymore. Because\r\nthe set's capacity is increased automatically, the test\r\ncannot verify any property of the internal bounds. That's a\r\ngood thing, because it means that the abstration has improved.\r\n\r\n* Implement `SparseMap`\r\n\r\nThe `SparseMap` struct now contains most of the\r\ncode from `SparseSet`. The map contains keys of\r\nunsigned integers and `Copy` values. This way,\r\nvalues can be integers, or anything else that's\r\ncopy such as the unit tuple.\r\n\r\n`SparseSet` now wraps `SparseMap` and uses the\r\nunit tuple as every key's value. The variable\r\nthat's called `value` in the implementation of\r\n`SparseSet` is really the map's key.\r\n\r\n* Fix randomized test bug\r\n\r\nThe two vector of keys and the vector of values\r\nin `sparse_map_insert_random_values` were both\r\ngenerated independently from each other. Thus,\r\nthey had different, random lengths. When zipping\r\nthe two, the resulting iterator had the length of\r\nthe shorter vector. If the vectors of values was\r\nshorter than the vector of keys, some keys would\r\nnot get inserted. When that happened, the loop\r\nasserting that all keys are part of the map failed.\r\n\r\n* Add an example of counting characters in a string\r\n\r\n* Cargo fmt\r\n\r\n* Test `SpareMap::update`\r\n\r\n* Update README with example\r\n\r\n* Test that oversized keys panic\r\n\r\nAny key must fit a `usize`.\r\n\r\n* Switch update arguments\r\n\r\n* Fix typo\r\n\r\n* Test that the unit tuple trick works\r\n\r\n---------\r\n\r\nCo-authored-by: Chris Rybicki ","shortMessageHtmlLink":"Add SparseMap as underlying data strucutre (#8)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEBwJebAA","startCursor":null,"endCursor":null}},"title":"Activity ยท Chriscbr/thinset"}