mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-18 14:58:55 +00:00
Mark endian_scalar as unsafe. (#6588)
* Mark endian_scalar as unsafe. Also - removed the deprecated flexbuffer slice from example - fixed some cargo warnings * Assertions and read_scalar made unsafe * Clippy lints * Add to Safety Co-authored-by: Casper Neo <cneo@google.com>
This commit is contained in:
@@ -255,6 +255,7 @@ fn vector_uint4() {
|
||||
assert_eq!(v.idx(2).get_u64(), Ok(5));
|
||||
assert_eq!(v.idx(3).get_u64(), Ok(7));
|
||||
assert!(v.index(4).is_err());
|
||||
#[allow(deprecated)]
|
||||
#[cfg(target_endian = "little")]
|
||||
{
|
||||
assert_eq!(r.get_slice::<u8>().unwrap(), [2, 3, 5, 7]);
|
||||
@@ -399,7 +400,7 @@ fn serde_serious() {
|
||||
b: u16,
|
||||
c: u32,
|
||||
d: u64,
|
||||
};
|
||||
}
|
||||
|
||||
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
||||
struct MyUnitStruct(Vec<String>);
|
||||
|
||||
@@ -1682,8 +1682,10 @@ mod roundtrip_scalars {
|
||||
|
||||
fn prop<T: PartialEq + ::std::fmt::Debug + Copy + flatbuffers::EndianScalar>(x: T) {
|
||||
let mut buf = vec![0u8; ::std::mem::size_of::<T>()];
|
||||
flatbuffers::emplace_scalar(&mut buf[..], x);
|
||||
let y = flatbuffers::read_scalar(&buf[..]);
|
||||
let y = unsafe {
|
||||
flatbuffers::emplace_scalar(&mut buf[..], x);
|
||||
flatbuffers::read_scalar(&buf[..])
|
||||
};
|
||||
assert_eq!(x, y);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user