{"id":16851892,"url":"https://github.com/cad97/pointer-utils","last_synced_at":"2025-04-05T08:09:06.230Z","repository":{"id":42977889,"uuid":"228978427","full_name":"CAD97/pointer-utils","owner":"CAD97","description":"A collection of small utilities for working with pointer types in Rust.","archived":false,"fork":false,"pushed_at":"2023-05-21T17:29:40.000Z","size":1423,"stargazers_count":119,"open_issues_count":12,"forks_count":10,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-10-14T13:33:51.255Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://cad97.github.io/pointer-utils/erasable/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CAD97.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE/APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-12-19T04:59:50.000Z","updated_at":"2024-09-29T10:17:28.000Z","dependencies_parsed_at":"2024-06-19T17:12:23.914Z","dependency_job_id":"f83df935-5c3a-4586-acf7-d19a2401e72a","html_url":"https://github.com/CAD97/pointer-utils","commit_stats":{"total_commits":121,"total_committers":4,"mean_commits":30.25,"dds":0.04132231404958675,"last_synced_commit":"26c260e4c8894bff3aa80d3f7d6931e15e5bbb06"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CAD97%2Fpointer-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CAD97%2Fpointer-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CAD97%2Fpointer-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CAD97%2Fpointer-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CAD97","download_url":"https://codeload.github.com/CAD97/pointer-utils/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247305935,"owners_count":20917208,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T13:34:00.318Z","updated_at":"2025-04-05T08:09:06.215Z","avatar_url":"https://github.com/CAD97.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pointer utility crates\n\n- [`erasable`](crates/erasable): Erase pointers of their concrete type.\n- [`rc-borrow`](crates/rc-borrow): Borrowed forms of `Rc` and `Arc`.\n- [`rc-box`](crates/rc-box): Known unique forms of `Rc` and `Arc`.\n- [`ptr-union`](crates/ptr-union): Pointer unions the size of a pointer.\n- [`slice-dst`](crates/slice-dst): Support for custom slice-based DSTs.\n\n## Why not [triomphe](https://crates.io/crates/triomphe)?\n\nTriomphe is a great atomic reference counting library!\nThe main difference between triomphe and these utilities is that\ntriomphe implements a new `Arc` type that doesn't support weak references\n(and as such does not have to pay the cost of handling potential weak references),\nwhereas these pointer utilities use the standard library's reference counting types.\nIf you need to work with standard library `Arc`/`Rc`, triomphe won't work for you.\n\nIf you want a more battle-tested library by the servo developers, use triomphe.\nIf you want small, self-contained extensions to the standard library types,\nuse these pointer utilities.\n\nAdditionally, triomphe only supports atomic reference counting.\nWe provide support for both `Arc` and `Rc`, as well as `Box` where applicable.\n\n## Minimum Supported Rust Version\n\nWe require a minimum Rust version of 1.41.0.\nThis is for an adjustment of local trait impl checking.\n\nThe minimum version of Rust will only be incremented with minor version bumps,\nnot patch version bumps, and will be deliberate and clearly noted in change notes.\n\n## License\n\nLicensed under either of\n\n * Apache License, Version 2.0\n   ([LICENSE/APACHE](LICENSE/APACHE) or http://www.apache.org/licenses/LICENSE-2.0)\n * MIT license\n   ([LICENSE/MIT](LICENSE/MIT) or http://opensource.org/licenses/MIT)\n\nat your option.\n\nIf you are a highly paid worker at any company that prioritises profit over\npeople, you can still use this crate. I simply wish you will unionise and push\nback against the obsession for growth, control, and power that is rampant in\nyour workplace. Please take a stand against the horrible working conditions\nthey inflict on your lesser paid colleagues, and more generally their\ndisrespect for the very human rights they claim to fight for.\n\n## Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in the work by you, as defined in the Apache-2.0 license, shall be\ndual licensed as above, without any additional terms or conditions.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcad97%2Fpointer-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcad97%2Fpointer-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcad97%2Fpointer-utils/lists"}