Cryptographically verifiable, distributed dependency reviews
Add the last reviewed version to Cargo.toml / [dependencies]:
legion = "0.1.1"
Please, use mobile in landscape.
Filter reviews clicking on the numbers in the summary.
Full column names in tooltip hints: rating Negative, rating Neutral, rating Positive, rating Strong, thoroughness, understanding, reviews count.
© bestia.dev 2023, MIT License, Version: 2023.608.1636
Open source repository for this web app: https://github.com/bestia-dev/cargo_crev_web/
A low-boilerplate, high performance archetype based ECS.
Pros:
Cons:
0.1.1
src/borrows.rs
Borrow
beforevalue
lifetime has ended.Borrow
beforevalue
lifetime has ended.Borrow
beforevalue
lifetime has ended.Borrow
beforevalue
lifetime has ended.Borrow
beforevalue
lifetime has ended.src/lib.rs
unsafe { ... }
- I think this might be sound thanks to&mut self
implying we have exclusive access to self.archetypes[?].chunks()[?].entities()unsafe { ... }
- I think this might be sound thanks to&mut self
implying we have exclusive access to self.archetypes[?].chunks()[?].entities()unsafe { ... }
- I think this might be sound thanks to&mut self
implying we have exclusive access to self.archetypes[?].chunks()[?].entities()unsafe { ... }
- I think this might be sound thanks to&mut self
implying we have exclusive access to self.archetypes[?].chunks()[?].entities()unsafe { ... }
- Probably sound - index should be valid - but why not just `.map(unsafe { ... }
- I think this might be sound thanks to&mut Chunk
implying we have exclusive access to chunk.entities()src/query.rs
unsafe { ... }
-0 <= i < j < types.len()
, so both calls to get_unchecked should be sound.unsafe { ... }
- Sketchy, assumes data.len() <= entities.len() and that's not a particularly trivial assertion to prove.unsafe { ... }
- NFI if this is sound or not.src/storage.rs
&mut self
, this forces the caller to enforce borrow checking manually.unsafe { ... }
- I think this might be sound thanks to&mut self
unsafe { ... }
- Unsound? It's not clear what, if anything, ensures len() isn't being mutated by another borrower.&mut self
, this forces the caller to enforce borrow checking manually.unsafe { ... }
- Unsound? "Locks" via borrow types after constructing&T
, which is too late.unsafe { ... }
- Unsound? "Locks" via borrow types after constructing&mut T
, which is too late.unsafe { ... }
- NFI if this is sound or not. Haven't groked why SharedComponentStore is UnsafeCell or what protects it, if anything.unsafe { ... }
- I think this might be sound thanks to&mut self
Miri Example
TIL
TypeId::of::<T>()