pub enum ArraySemantics {
Php,
Reference,
}Expand description
How arrays and maps behave when a value is copied.
§Examples
use bcgen_lang::ArraySemantics;
assert_eq!(ArraySemantics::default(), ArraySemantics::Php);Variants§
Php
PHP arrays: values. Assigning, passing, returning, capturing, or
storing an array copies it (an O(1) copy-on-write dup), a nested
write ($a['x']['y'] = 1) separates each intermediate array from any
copy that shares it, and writing through null creates the array
(auto-vivification).
Reference
Shared references, as in Python, JavaScript, and Ruby: a copy is the
same object, nested writes go through, and writing into null is an
error.
Trait Implementations§
Source§impl Clone for ArraySemantics
impl Clone for ArraySemantics
impl Copy for ArraySemantics
Source§impl Debug for ArraySemantics
impl Debug for ArraySemantics
Source§impl Default for ArraySemantics
impl Default for ArraySemantics
impl Eq for ArraySemantics
Source§impl Hash for ArraySemantics
impl Hash for ArraySemantics
Source§impl PartialEq for ArraySemantics
impl PartialEq for ArraySemantics
impl StructuralPartialEq for ArraySemantics
Auto Trait Implementations§
impl Freeze for ArraySemantics
impl RefUnwindSafe for ArraySemantics
impl Send for ArraySemantics
impl Sync for ArraySemantics
impl Unpin for ArraySemantics
impl UnsafeUnpin for ArraySemantics
impl UnwindSafe for ArraySemantics
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more