#[repr(u32)]pub enum KeyCode {
Show 195 variants
Unidentified(NativeKeyCode),
Backquote,
Backslash,
BracketLeft,
BracketRight,
Comma,
Digit0,
Digit1,
Digit2,
Digit3,
Digit4,
Digit5,
Digit6,
Digit7,
Digit8,
Digit9,
Equal,
IntlBackslash,
IntlRo,
IntlYen,
KeyA,
KeyB,
KeyC,
KeyD,
KeyE,
KeyF,
KeyG,
KeyH,
KeyI,
KeyJ,
KeyK,
KeyL,
KeyM,
KeyN,
KeyO,
KeyP,
KeyQ,
KeyR,
KeyS,
KeyT,
KeyU,
KeyV,
KeyW,
KeyX,
KeyY,
KeyZ,
Minus,
Period,
Quote,
Semicolon,
Slash,
AltLeft,
AltRight,
Backspace,
CapsLock,
ContextMenu,
ControlLeft,
ControlRight,
Enter,
SuperLeft,
SuperRight,
ShiftLeft,
ShiftRight,
Space,
Tab,
Convert,
KanaMode,
Lang1,
Lang2,
Lang3,
Lang4,
Lang5,
NonConvert,
Delete,
End,
Help,
Home,
Insert,
PageDown,
PageUp,
ArrowDown,
ArrowLeft,
ArrowRight,
ArrowUp,
NumLock,
Numpad0,
Numpad1,
Numpad2,
Numpad3,
Numpad4,
Numpad5,
Numpad6,
Numpad7,
Numpad8,
Numpad9,
NumpadAdd,
NumpadBackspace,
NumpadClear,
NumpadClearEntry,
NumpadComma,
NumpadDecimal,
NumpadDivide,
NumpadEnter,
NumpadEqual,
NumpadHash,
NumpadMemoryAdd,
NumpadMemoryClear,
NumpadMemoryRecall,
NumpadMemoryStore,
NumpadMemorySubtract,
NumpadMultiply,
NumpadParenLeft,
NumpadParenRight,
NumpadStar,
NumpadSubtract,
Escape,
Fn,
FnLock,
PrintScreen,
ScrollLock,
Pause,
BrowserBack,
BrowserFavorites,
BrowserForward,
BrowserHome,
BrowserRefresh,
BrowserSearch,
BrowserStop,
Eject,
LaunchApp1,
LaunchApp2,
LaunchMail,
MediaPlayPause,
MediaSelect,
MediaStop,
MediaTrackNext,
MediaTrackPrevious,
Power,
Sleep,
AudioVolumeDown,
AudioVolumeMute,
AudioVolumeUp,
WakeUp,
Meta,
Hyper,
Turbo,
Abort,
Resume,
Suspend,
Again,
Copy,
Cut,
Find,
Open,
Paste,
Props,
Select,
Undo,
Hiragana,
Katakana,
F1,
F2,
F3,
F4,
F5,
F6,
F7,
F8,
F9,
F10,
F11,
F12,
F13,
F14,
F15,
F16,
F17,
F18,
F19,
F20,
F21,
F22,
F23,
F24,
F25,
F26,
F27,
F28,
F29,
F30,
F31,
F32,
F33,
F34,
F35,
}
Expand description
The key code of a KeyboardInput
.
§Usage
It is used as the generic T
value of an ButtonInput
to create a Res<ButtonInput<KeyCode>>
.
Code representing the location of a physical key
This mostly conforms to the UI Events Specification’s KeyboardEvent.code
with a few
exceptions:
- The keys that the specification calls
MetaLeft
andMetaRight
are namedSuperLeft
andSuperRight
here. - The key that the specification calls “Super” is reported as
Unidentified
here.
§Updating
The resource is updated inside of the keyboard_input_system
.
Variants§
Unidentified(NativeKeyCode)
This variant is used when the key cannot be translated to any other variant.
The native keycode is provided (if available) so you’re able to more reliably match
key-press and key-release events by hashing the KeyCode
. It is also possible to use
this for keybinds for non-standard keys, but such keybinds are tied to a given platform.
Backquote
` on a US keyboard. This is also called a backtick or grave. This is the 半角/全角/漢字 (hankaku/zenkaku/kanji) key on Japanese keyboards
Backslash
Used for both the US \ (on the 101-key layout) and also for the key located between the “ and Enter keys on row C of the 102-, 104- and 106-key layouts. Labeled # on a UK (102) keyboard.
BracketLeft
[ on a US keyboard.
BracketRight
] on a US keyboard.
Comma
, on a US keyboard.
Digit0
0 on a US keyboard.
Digit1
1 on a US keyboard.
Digit2
2 on a US keyboard.
Digit3
3 on a US keyboard.
Digit4
4 on a US keyboard.
Digit5
5 on a US keyboard.
Digit6
6 on a US keyboard.
Digit7
7 on a US keyboard.
Digit8
8 on a US keyboard.
Digit9
9 on a US keyboard.
Equal
= on a US keyboard.
IntlBackslash
Located between the left Shift and Z keys. Labeled \ on a UK keyboard.
IntlRo
Located between the / and right Shift keys. Labeled \ (ro) on a Japanese keyboard.
IntlYen
Located between the = and Backspace keys. Labeled ¥ (yen) on a Japanese keyboard. \ on a Russian keyboard.
KeyA
a on a US keyboard. Labeled q on an AZERTY (e.g., French) keyboard.
KeyB
b on a US keyboard.
KeyC
c on a US keyboard.
KeyD
d on a US keyboard.
KeyE
e on a US keyboard.
KeyF
f on a US keyboard.
KeyG
g on a US keyboard.
KeyH
h on a US keyboard.
KeyI
i on a US keyboard.
KeyJ
j on a US keyboard.
KeyK
k on a US keyboard.
KeyL
l on a US keyboard.
KeyM
m on a US keyboard.
KeyN
n on a US keyboard.
KeyO
o on a US keyboard.
KeyP
p on a US keyboard.
KeyQ
q on a US keyboard. Labeled a on an AZERTY (e.g., French) keyboard.
KeyR
r on a US keyboard.
KeyS
s on a US keyboard.
KeyT
t on a US keyboard.
KeyU
u on a US keyboard.
KeyV
v on a US keyboard.
KeyW
w on a US keyboard. Labeled z on an AZERTY (e.g., French) keyboard.
KeyX
x on a US keyboard.
KeyY
y on a US keyboard. Labeled z on a QWERTZ (e.g., German) keyboard.
KeyZ
z on a US keyboard. Labeled w on an AZERTY (e.g., French) keyboard, and y on a QWERTZ (e.g., German) keyboard.
Minus
- on a US keyboard.
Period
. on a US keyboard.
Quote
’ on a US keyboard.
Semicolon
; on a US keyboard.
Slash
/ on a US keyboard.
AltLeft
Alt, Option, or ⌥.
AltRight
Alt, Option, or ⌥. This is labeled AltGr on many keyboard layouts.
Backspace
Backspace or ⌫. Labeled Delete on Apple keyboards.
CapsLock
CapsLock or ⇪
ContextMenu
The application context menu key, which is typically found between the right Super key and the right Control key.
ControlLeft
Control or ⌃
ControlRight
Control or ⌃
Enter
Enter or ↵. Labeled Return on Apple keyboards.
SuperLeft
The Windows, ⌘, Command, or other OS symbol key.
SuperRight
The Windows, ⌘, Command, or other OS symbol key.
ShiftLeft
Shift or ⇧
ShiftRight
Shift or ⇧
Space
(space)
Tab
Tab or ⇥
Convert
Japanese: 変 (henkan)
KanaMode
Japanese: カタカナ/ひらがな/ローマ字 (katakana/hiragana/romaji)
Lang1
Korean: HangulMode 한/영 (han/yeong)
Japanese (Mac keyboard): か (kana)
Lang2
Korean: Hanja 한 (hanja)
Japanese (Mac keyboard): 英 (eisu)
Lang3
Japanese (word-processing keyboard): Katakana
Lang4
Japanese (word-processing keyboard): Hiragana
Lang5
Japanese (word-processing keyboard): Zenkaku/Hankaku
NonConvert
Japanese: 無変換 (muhenkan)
Delete
⌦. The forward delete key.
Note that on Apple keyboards, the key labeled Delete on the main part of
the keyboard is encoded as Backspace
.
End
Page Down, End, or ↘
Help
Help. Not present on standard PC keyboards.
Home
Home or ↖
Insert
Insert or Ins. Not present on Apple keyboards.
PageDown
Page Down, PgDn, or ⇟
PageUp
Page Up, PgUp, or ⇞
ArrowDown
↓
ArrowLeft
←
ArrowRight
→
ArrowUp
↑
NumLock
On the Mac, this is used for the numpad Clear key.
Numpad0
0 Ins on a keyboard. 0 on a phone or remote control
Numpad1
1 End on a keyboard. 1 or 1 QZ on a phone or remote control
Numpad2
2 ↓ on a keyboard. 2 ABC on a phone or remote control
Numpad3
3 PgDn on a keyboard. 3 DEF on a phone or remote control
Numpad4
4 ← on a keyboard. 4 GHI on a phone or remote control
Numpad5
5 on a keyboard. 5 JKL on a phone or remote control
Numpad6
6 → on a keyboard. 6 MNO on a phone or remote control
Numpad7
7 Home on a keyboard. 7 PQRS or 7 PRS on a phone or remote control
Numpad8
8 ↑ on a keyboard. 8 TUV on a phone or remote control
Numpad9
9 PgUp on a keyboard. 9 WXYZ or 9 WXY on a phone or remote control
NumpadAdd
+
NumpadBackspace
Found on the Microsoft Natural Keyboard.
NumpadClear
C or A (All Clear). Also for use with numpads that have a
Clear key that is separate from the NumLock key. On the Mac, the
numpad Clear key is encoded as NumLock
.
NumpadClearEntry
C (Clear Entry)
NumpadComma
, (thousands separator). For locales where the thousands separator is a “.” (e.g., Brazil), this key may generate a ..
NumpadDecimal
. Del. For locales where the decimal separator is “,” (e.g., Brazil), this key may generate a ,.
NumpadDivide
/
NumpadEnter
The Enter key on the numpad.
NumpadEqual
=
NumpadHash
# on a phone or remote control device. This key is typically found below the 9 key and to the right of the 0 key.
NumpadMemoryAdd
M Add current entry to the value stored in memory.
NumpadMemoryClear
M Clear the value stored in memory.
NumpadMemoryRecall
M Replace the current entry with the value stored in memory.
NumpadMemoryStore
M Replace the value stored in memory with the current entry.
NumpadMemorySubtract
M Subtract current entry from the value stored in memory.
NumpadMultiply
on a keyboard. For use with numpads that provide mathematical operations (+, - and /).
Use NumpadStar
for the * key on phones and remote controls.
NumpadParenLeft
( Found on the Microsoft Natural Keyboard.
NumpadParenRight
) Found on the Microsoft Natural Keyboard.
NumpadStar
* on a phone or remote control device.
This key is typically found below the 7 key and to the left of the 0 key.
Use “NumpadMultiply” for the * key on numeric keypads.
NumpadSubtract
-
Escape
Esc or ⎋
Fn
Fn This is typically a hardware key that does not generate a separate code.
FnLock
FLock or FnLock. Function Lock key. Found on the Microsoft Natural Keyboard.
PrintScreen
PrtScr SysRq or Print Screen
ScrollLock
Scroll Lock
Pause
Pause Break
BrowserBack
Some laptops place this key to the left of the ↑ key.
This also the “back” button (triangle) on Android.
BrowserFavorites
BrowserFavorites
BrowserForward
Some laptops place this key to the right of the ↑ key.
BrowserHome
The “home” button on Android.
BrowserRefresh
BrowserRefresh
BrowserSearch
BrowserSearch
BrowserStop
BrowserStop
Eject
Eject or ⏏. This key is placed in the function section on some Apple keyboards.
LaunchApp1
Sometimes labeled My Computer on the keyboard
LaunchApp2
Sometimes labeled Calculator on the keyboard
LaunchMail
LaunchMail
MediaPlayPause
MediaPlayPause
MediaSelect
MediaSelect
MediaStop
MediaStop
MediaTrackNext
MediaTrackNext
MediaTrackPrevious
MediaTrackPrevious
Power
This key is placed in the function section on some Apple keyboards, replacing the Eject key.
Sleep
Sleep
AudioVolumeDown
AudioVolumeDown
AudioVolumeMute
AudioVolumeMute
AudioVolumeUp
AudioVolumeUp
WakeUp
WakeUp
Meta
Legacy modifier key. Also called “Super” in certain places.
Hyper
Legacy modifier key.
Turbo
Turbo
Abort
Abort
Resume
Resume
Suspend
Suspend
Again
Found on Sun’s USB keyboard.
Copy
Found on Sun’s USB keyboard.
Cut
Found on Sun’s USB keyboard.
Find
Found on Sun’s USB keyboard.
Open
Found on Sun’s USB keyboard.
Paste
Found on Sun’s USB keyboard.
Props
Found on Sun’s USB keyboard.
Select
Found on Sun’s USB keyboard.
Undo
Found on Sun’s USB keyboard.
Hiragana
Use for dedicated ひらがな key found on some Japanese word processing keyboards.
Katakana
Use for dedicated カタカナ key found on some Japanese word processing keyboards.
F1
General-purpose function key. Usually found at the top of the keyboard.
F2
General-purpose function key. Usually found at the top of the keyboard.
F3
General-purpose function key. Usually found at the top of the keyboard.
F4
General-purpose function key. Usually found at the top of the keyboard.
F5
General-purpose function key. Usually found at the top of the keyboard.
F6
General-purpose function key. Usually found at the top of the keyboard.
F7
General-purpose function key. Usually found at the top of the keyboard.
F8
General-purpose function key. Usually found at the top of the keyboard.
F9
General-purpose function key. Usually found at the top of the keyboard.
F10
General-purpose function key. Usually found at the top of the keyboard.
F11
General-purpose function key. Usually found at the top of the keyboard.
F12
General-purpose function key. Usually found at the top of the keyboard.
F13
General-purpose function key. Usually found at the top of the keyboard.
F14
General-purpose function key. Usually found at the top of the keyboard.
F15
General-purpose function key. Usually found at the top of the keyboard.
F16
General-purpose function key. Usually found at the top of the keyboard.
F17
General-purpose function key. Usually found at the top of the keyboard.
F18
General-purpose function key. Usually found at the top of the keyboard.
F19
General-purpose function key. Usually found at the top of the keyboard.
F20
General-purpose function key. Usually found at the top of the keyboard.
F21
General-purpose function key. Usually found at the top of the keyboard.
F22
General-purpose function key. Usually found at the top of the keyboard.
F23
General-purpose function key. Usually found at the top of the keyboard.
F24
General-purpose function key. Usually found at the top of the keyboard.
F25
General-purpose function key.
F26
General-purpose function key.
F27
General-purpose function key.
F28
General-purpose function key.
F29
General-purpose function key.
F30
General-purpose function key.
F31
General-purpose function key.
F32
General-purpose function key.
F33
General-purpose function key.
F34
General-purpose function key.
F35
General-purpose function key.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for KeyCode
impl<'de> Deserialize<'de> for KeyCode
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Enum for KeyCodewhere
KeyCode: Any + Send + Sync,
NativeKeyCode: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Enum for KeyCodewhere
KeyCode: Any + Send + Sync,
NativeKeyCode: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn field(&self, __name_param: &str) -> Option<&dyn PartialReflect>
fn field(&self, __name_param: &str) -> Option<&dyn PartialReflect>
Source§fn field_at(&self, __index_param: usize) -> Option<&dyn PartialReflect>
fn field_at(&self, __index_param: usize) -> Option<&dyn PartialReflect>
Source§fn field_mut(&mut self, __name_param: &str) -> Option<&mut dyn PartialReflect>
fn field_mut(&mut self, __name_param: &str) -> Option<&mut dyn PartialReflect>
Source§fn field_at_mut(
&mut self,
__index_param: usize,
) -> Option<&mut dyn PartialReflect>
fn field_at_mut( &mut self, __index_param: usize, ) -> Option<&mut dyn PartialReflect>
Source§fn index_of(&self, __name_param: &str) -> Option<usize>
fn index_of(&self, __name_param: &str) -> Option<usize>
Source§fn name_at(&self, __index_param: usize) -> Option<&str>
fn name_at(&self, __index_param: usize) -> Option<&str>
Source§fn iter_fields(&self) -> VariantFieldIter<'_>
fn iter_fields(&self) -> VariantFieldIter<'_>
Source§fn variant_name(&self) -> &str
fn variant_name(&self) -> &str
Source§fn variant_index(&self) -> usize
fn variant_index(&self) -> usize
Source§fn variant_type(&self) -> VariantType
fn variant_type(&self) -> VariantType
fn clone_dynamic(&self) -> DynamicEnum
Source§fn is_variant(&self, variant_type: VariantType) -> bool
fn is_variant(&self, variant_type: VariantType) -> bool
Source§fn variant_path(&self) -> String
fn variant_path(&self) -> String
Source§impl FromReflect for KeyCodewhere
KeyCode: Any + Send + Sync,
NativeKeyCode: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl FromReflect for KeyCodewhere
KeyCode: Any + Send + Sync,
NativeKeyCode: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn from_reflect(__param0: &dyn PartialReflect) -> Option<Self>
fn from_reflect(__param0: &dyn PartialReflect) -> Option<Self>
Self
from a reflected value.Source§fn take_from_reflect(
reflect: Box<dyn PartialReflect>,
) -> Result<Self, Box<dyn PartialReflect>>
fn take_from_reflect( reflect: Box<dyn PartialReflect>, ) -> Result<Self, Box<dyn PartialReflect>>
Self
using,
constructing the value using from_reflect
if that fails. Read moreSource§impl GetTypeRegistration for KeyCodewhere
KeyCode: Any + Send + Sync,
NativeKeyCode: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl GetTypeRegistration for KeyCodewhere
KeyCode: Any + Send + Sync,
NativeKeyCode: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn get_type_registration() -> TypeRegistration
fn get_type_registration() -> TypeRegistration
TypeRegistration
for this type.Source§fn register_type_dependencies(registry: &mut TypeRegistry)
fn register_type_dependencies(registry: &mut TypeRegistry)
Source§impl Ord for KeyCode
impl Ord for KeyCode
Source§impl PartialOrd for KeyCode
impl PartialOrd for KeyCode
Source§impl PartialReflect for KeyCodewhere
KeyCode: Any + Send + Sync,
NativeKeyCode: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl PartialReflect for KeyCodewhere
KeyCode: Any + Send + Sync,
NativeKeyCode: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
Source§fn clone_value(&self) -> Box<dyn PartialReflect>
fn clone_value(&self) -> Box<dyn PartialReflect>
Reflect
trait object. Read moreSource§fn try_apply(
&mut self,
__value_param: &dyn PartialReflect,
) -> Result<(), ApplyError>
fn try_apply( &mut self, __value_param: &dyn PartialReflect, ) -> Result<(), ApplyError>
Source§fn reflect_kind(&self) -> ReflectKind
fn reflect_kind(&self) -> ReflectKind
Source§fn reflect_ref(&self) -> ReflectRef<'_>
fn reflect_ref(&self) -> ReflectRef<'_>
Source§fn reflect_mut(&mut self) -> ReflectMut<'_>
fn reflect_mut(&mut self) -> ReflectMut<'_>
Source§fn reflect_owned(self: Box<Self>) -> ReflectOwned
fn reflect_owned(self: Box<Self>) -> ReflectOwned
Source§fn try_into_reflect(
self: Box<Self>,
) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
fn try_into_reflect( self: Box<Self>, ) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
Source§fn try_as_reflect(&self) -> Option<&dyn Reflect>
fn try_as_reflect(&self) -> Option<&dyn Reflect>
Source§fn try_as_reflect_mut(&mut self) -> Option<&mut dyn Reflect>
fn try_as_reflect_mut(&mut self) -> Option<&mut dyn Reflect>
Source§fn into_partial_reflect(self: Box<Self>) -> Box<dyn PartialReflect>
fn into_partial_reflect(self: Box<Self>) -> Box<dyn PartialReflect>
Source§fn as_partial_reflect(&self) -> &dyn PartialReflect
fn as_partial_reflect(&self) -> &dyn PartialReflect
Source§fn as_partial_reflect_mut(&mut self) -> &mut dyn PartialReflect
fn as_partial_reflect_mut(&mut self) -> &mut dyn PartialReflect
Source§fn reflect_hash(&self) -> Option<u64>
fn reflect_hash(&self) -> Option<u64>
Source§fn reflect_partial_eq(&self, value: &dyn PartialReflect) -> Option<bool>
fn reflect_partial_eq(&self, value: &dyn PartialReflect) -> Option<bool>
Source§fn apply(&mut self, value: &(dyn PartialReflect + 'static))
fn apply(&mut self, value: &(dyn PartialReflect + 'static))
Source§fn serializable(&self) -> Option<Serializable<'_>>
fn serializable(&self) -> Option<Serializable<'_>>
Source§fn is_dynamic(&self) -> bool
fn is_dynamic(&self) -> bool
Source§impl Reflect for KeyCodewhere
KeyCode: Any + Send + Sync,
NativeKeyCode: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Reflect for KeyCodewhere
KeyCode: Any + Send + Sync,
NativeKeyCode: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn as_any_mut(&mut self) -> &mut dyn Any
fn as_any_mut(&mut self) -> &mut dyn Any
&mut dyn Any
. Read moreSource§fn into_reflect(self: Box<Self>) -> Box<dyn Reflect>
fn into_reflect(self: Box<Self>) -> Box<dyn Reflect>
Source§fn as_reflect(&self) -> &dyn Reflect
fn as_reflect(&self) -> &dyn Reflect
Source§fn as_reflect_mut(&mut self) -> &mut dyn Reflect
fn as_reflect_mut(&mut self) -> &mut dyn Reflect
Source§impl TypePath for KeyCode
impl TypePath for KeyCode
Source§fn type_path() -> &'static str
fn type_path() -> &'static str
Source§fn short_type_path() -> &'static str
fn short_type_path() -> &'static str
Source§fn type_ident() -> Option<&'static str>
fn type_ident() -> Option<&'static str>
Source§fn crate_name() -> Option<&'static str>
fn crate_name() -> Option<&'static str>
Source§impl Typed for KeyCodewhere
KeyCode: Any + Send + Sync,
NativeKeyCode: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Typed for KeyCodewhere
KeyCode: Any + Send + Sync,
NativeKeyCode: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Copy for KeyCode
impl Eq for KeyCode
impl StructuralPartialEq for KeyCode
Auto Trait Implementations§
impl Freeze for KeyCode
impl RefUnwindSafe for KeyCode
impl Send for KeyCode
impl Sync for KeyCode
impl Unpin for KeyCode
impl UnwindSafe for KeyCode
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> DynamicTypePath for Twhere
T: TypePath,
impl<T> DynamicTypePath for Twhere
T: TypePath,
Source§fn reflect_type_path(&self) -> &str
fn reflect_type_path(&self) -> &str
TypePath::type_path
.Source§fn reflect_short_type_path(&self) -> &str
fn reflect_short_type_path(&self) -> &str
Source§fn reflect_type_ident(&self) -> Option<&str>
fn reflect_type_ident(&self) -> Option<&str>
TypePath::type_ident
.Source§fn reflect_crate_name(&self) -> Option<&str>
fn reflect_crate_name(&self) -> Option<&str>
TypePath::crate_name
.Source§fn reflect_module_path(&self) -> Option<&str>
fn reflect_module_path(&self) -> Option<&str>
Source§impl<T> DynamicTyped for Twhere
T: Typed,
impl<T> DynamicTyped for Twhere
T: Typed,
Source§fn reflect_type_info(&self) -> &'static TypeInfo
fn reflect_type_info(&self) -> &'static TypeInfo
Typed::type_info
.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<T> GetPath for T
impl<T> GetPath for T
Source§fn reflect_path<'p>(
&self,
path: impl ReflectPath<'p>,
) -> Result<&(dyn PartialReflect + 'static), ReflectPathError<'p>>
fn reflect_path<'p>( &self, path: impl ReflectPath<'p>, ) -> Result<&(dyn PartialReflect + 'static), ReflectPathError<'p>>
path
. Read moreSource§fn reflect_path_mut<'p>(
&mut self,
path: impl ReflectPath<'p>,
) -> Result<&mut (dyn PartialReflect + 'static), ReflectPathError<'p>>
fn reflect_path_mut<'p>( &mut self, path: impl ReflectPath<'p>, ) -> Result<&mut (dyn PartialReflect + 'static), ReflectPathError<'p>>
path
. Read moreSource§fn path<'p, T>(
&self,
path: impl ReflectPath<'p>,
) -> Result<&T, ReflectPathError<'p>>where
T: Reflect,
fn path<'p, T>(
&self,
path: impl ReflectPath<'p>,
) -> Result<&T, ReflectPathError<'p>>where
T: Reflect,
path
. Read moreSource§fn path_mut<'p, T>(
&mut self,
path: impl ReflectPath<'p>,
) -> Result<&mut T, ReflectPathError<'p>>where
T: Reflect,
fn path_mut<'p, T>(
&mut self,
path: impl ReflectPath<'p>,
) -> Result<&mut T, ReflectPathError<'p>>where
T: Reflect,
path
. Read moreSource§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more