diff options
| author | mo khan <mo@mokhan.ca> | 2025-07-15 16:37:08 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-07-17 16:30:22 -0600 |
| commit | 45df4d0d9b577fecee798d672695fe24ff57fb1b (patch) | |
| tree | 1b99bf645035b58e0d6db08c7a83521f41f7a75b /vendor/tinyvec/tests/debugger_visualizer.rs | |
| parent | f94f79608393d4ab127db63cc41668445ef6b243 (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/tinyvec/tests/debugger_visualizer.rs')
| -rw-r--r-- | vendor/tinyvec/tests/debugger_visualizer.rs | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/vendor/tinyvec/tests/debugger_visualizer.rs b/vendor/tinyvec/tests/debugger_visualizer.rs deleted file mode 100644 index de7cf71e..00000000 --- a/vendor/tinyvec/tests/debugger_visualizer.rs +++ /dev/null @@ -1,91 +0,0 @@ -use debugger_test::debugger_test;
-use tinyvec::*;
-
-#[inline(never)]
-fn __break() {
- println!("breakpoint hit");
-}
-
-#[debugger_test(
- debugger = "cdb",
- commands = r#"
-dx strings
-dx inline_tv
-dx inline_tv.__0
-g
-dx slice_vec
-g
-dx strings
-"#,
- expected_statements = r#"
-pattern:strings : \{ len=0x3 \} \[Type: tinyvec::arrayvec::ArrayVec<array\$<.*str.*,7> >\]
-pattern:\[<Raw View>\] \[Type: tinyvec::arrayvec::ArrayVec<array\$<.*str.*,7> >\]
-pattern:\[len\] : 0x3 \[Type: unsigned short\]
-pattern:\[capacity\] : 7
-pattern:\[0\] : "a" \[Type: .*str.*\]
-pattern:\[1\] : "b" \[Type: .*str.*\]
-pattern:\[2\] : "c" \[Type: .*str.*\]
-
-inline_tv : Inline [Type: enum2$<tinyvec::tinyvec::TinyVec<array$<i32,4> > >]
- [<Raw View>] [Type: enum2$<tinyvec::tinyvec::TinyVec<array$<i32,4> > >]
- [+0x004] __0 : { len=0x4 } [Type: tinyvec::arrayvec::ArrayVec<array$<i32,4> >]
-
-inline_tv.__0 : { len=0x4 } [Type: tinyvec::arrayvec::ArrayVec<array$<i32,4> >]
- [<Raw View>] [Type: tinyvec::arrayvec::ArrayVec<array$<i32,4> >]
- [len] : 0x4 [Type: unsigned short]
- [capacity] : 4
- [0] : 1 [Type: i32]
- [1] : 2 [Type: i32]
- [2] : 3 [Type: i32]
- [3] : 4 [Type: i32]
-
-pattern:slice_vec : \{ len=0x3 \} \[Type: tinyvec::slicevec::SliceVec<.*str.*>\]
-pattern:\[<Raw View>\] \[Type: tinyvec::slicevec::SliceVec<.*str.*>\]
-pattern:\[len\] : 0x3 \[Type: unsigned __int64\]
-pattern:\[0\] : "a" \[Type: .*str.*\]
-pattern:\[1\] : "b" \[Type: .*str.*\]
-pattern:\[2\] : "d" \[Type: .*str.*\]
-
-pattern:strings : \{ len=0x6 \} \[Type: tinyvec::arrayvec::ArrayVec<array\$<.*str.*,7> >\]
-pattern:\[<Raw View>\] \[Type: tinyvec::arrayvec::ArrayVec<array\$<.*str.*,7> >\]
-pattern:\[len\] : 0x6 \[Type: unsigned short\]
-pattern:\[capacity\] : 7
-pattern:\[0\] : "a" \[Type: .*str.*\]
-pattern:\[1\] : "b" \[Type: .*str.*\]
-pattern:\[2\] : "d" \[Type: .*str.*\]
-pattern:\[3\] : "e" \[Type: .*str.*\]
-pattern:\[4\] : "f" \[Type: .*str.*\]
-pattern:\[5\] : "g" \[Type: .*str.*\]
-"#
-)]
-#[inline(never)]
-fn test_debugger_visualizer() {
- let mut strings = ArrayVec::<[&str; 7]>::default();
- strings.push("a");
- strings.push("b");
- strings.push("c");
- assert_eq!(["a", "b", "c"], &strings[..]);
-
- let mut inline_tv = tiny_vec!([i32; 4] => 1, 2, 3);
- assert!(inline_tv.is_inline());
-
- inline_tv.push(4);
- __break();
-
- {
- let mut slice_vec = SliceVec::from(strings.as_mut_slice());
- assert_eq!(3, slice_vec.capacity());
- assert_eq!("c", slice_vec.remove(2));
- slice_vec.push("d");
- println!("{:?}", slice_vec);
- __break();
-
- assert_eq!(["a", "b", "d"], &slice_vec[..]);
- }
-
- strings.push("e");
- strings.push("f");
- strings.push("g");
- assert_eq!(["a", "b", "d", "e", "f", "g"], &strings[..]);
- __break();
-}
|
