summaryrefslogtreecommitdiff
path: root/vendor/beef/src/lean.rs
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-07-15 16:37:08 -0600
committermo khan <mo@mokhan.ca>2025-07-17 16:30:22 -0600
commit45df4d0d9b577fecee798d672695fe24ff57fb1b (patch)
tree1b99bf645035b58e0d6db08c7a83521f41f7a75b /vendor/beef/src/lean.rs
parentf94f79608393d4ab127db63cc41668445ef6b243 (diff)
feat: migrate from Cedar to SpiceDB authorization system
This is a major architectural change that replaces the Cedar policy-based authorization system with SpiceDB's relation-based authorization. Key changes: - Migrate from Rust to Go implementation - Replace Cedar policies with SpiceDB schema and relationships - Switch from envoy `ext_authz` with Cedar to SpiceDB permission checks - Update build system and dependencies for Go ecosystem - Maintain Envoy integration for external authorization This change enables more flexible permission modeling through SpiceDB's Google Zanzibar inspired relation-based system, supporting complex hierarchical permissions that were difficult to express in Cedar. Breaking change: Existing Cedar policies and Rust-based configuration will no longer work and need to be migrated to SpiceDB schema.
Diffstat (limited to 'vendor/beef/src/lean.rs')
-rw-r--r--vendor/beef/src/lean.rs69
1 files changed, 0 insertions, 69 deletions
diff --git a/vendor/beef/src/lean.rs b/vendor/beef/src/lean.rs
deleted file mode 100644
index cb3c1943..00000000
--- a/vendor/beef/src/lean.rs
+++ /dev/null
@@ -1,69 +0,0 @@
-//! Namespace containing the 2-word `Cow` implementation.
-
-use crate::traits::Capacity;
-
-/// Faster, 2-word `Cow`. This version is available only on 64-bit architecture,
-/// and it puts both capacity and length together in a fat pointer. Both length and capacity
-/// is limited to 32 bits.
-///
-/// # Panics
-///
-/// [`Cow::owned`](../generic/struct.Cow.html#method.owned) will panic if capacity is larger than `u32::max_size()`. Use the
-/// top level `beef::Cow` if you wish to avoid this problem.
-pub type Cow<'a, T> = crate::generic::Cow<'a, T, Lean>;
-
-pub(crate) mod internal {
- #[derive(Clone, Copy, PartialEq, Eq)]
- pub struct Lean;
-}
-use internal::Lean;
-
-const MASK_LO: usize = u32::MAX as usize;
-const MASK_HI: usize = !MASK_LO;
-
-impl Lean {
- #[inline]
- pub const fn mask_len(len: usize) -> usize {
- len & MASK_LO
- }
-}
-
-impl Capacity for Lean {
- type Field = Lean;
- type NonZero = Lean;
-
- #[inline]
- fn len(fat: usize) -> usize {
- fat & MASK_LO
- }
-
- #[inline]
- fn empty(len: usize) -> (usize, Lean) {
- (len & MASK_LO, Lean)
- }
-
- #[inline]
- fn store(len: usize, capacity: usize) -> (usize, Lean) {
- if capacity & MASK_HI != 0 {
- panic!("beef::lean::Cow: Capacity out of bounds");
- }
-
- let fat = ((capacity & MASK_LO) << 32) | (len & MASK_LO);
-
- (fat, Lean)
- }
-
- #[inline]
- fn unpack(fat: usize, _: Lean) -> (usize, usize) {
- (fat & MASK_LO, (fat & MASK_HI) >> 32)
- }
-
- #[inline]
- fn maybe(fat: usize, _: Lean) -> Option<Lean> {
- if fat & MASK_HI != 0 {
- Some(Lean)
- } else {
- None
- }
- }
-}