Home
last modified time | relevance | path

Searched refs:Any (Results 1 – 25 of 66) sorted by relevance

123

/DragonOS/kernel/crates/intertrait/src/
H A Dlib.rs66 any::{Any, TypeId},
85 pub type BoxedCaster = Box<dyn Any + Send + Sync>;
166 fn cast_arc_panic<T: ?Sized + 'static>(_: Arc<dyn Any + Sync + Send>) -> Arc<T> { in cast_arc_panic()
180 pub cast_ref: fn(from: &dyn Any) -> &T,
184 pub cast_mut: fn(from: &mut dyn Any) -> &mut T,
188 pub cast_box: fn(from: Box<dyn Any>) -> Box<T>,
192 pub cast_rc: fn(from: Rc<dyn Any>) -> Rc<T>,
196 pub cast_arc: fn(from: Arc<dyn Any + Sync + Send + 'static>) -> Arc<T>,
201 cast_ref: fn(from: &dyn Any) -> &T, in new()
202 cast_mut: fn(from: &mut dyn Any) -> &mut T, in new()
[all …]
/DragonOS/kernel/src/libs/
H A Dcasting.rs19 use core::any::Any;
56 pub trait DowncastArc: Any + Send + Sync {
58 fn as_any_arc(self: Arc<Self>) -> Arc<dyn Any>; in as_any_arc() argument
65 fn downcast_arc<T: Any + Send + Sync>(self: Arc<Self>) -> Option<Arc<T>> { in downcast_arc()
66 let x: Arc<dyn Any> = self.as_any_arc(); in downcast_arc()
/DragonOS/docs/kernel/core_api/
H A Dcasting.md44 …现`DowncastArc`trait。这个trait定义在`kernel/src/libs/casting.rs`中。它要求`trait U`实现`Any + Sync + Send`trait.
46 &emsp;&emsp;为`trait U: Any + Send + Sync`实现`DowncastArc`trait,需要这样做:
50 fn as_any_arc(self: Arc<Self>) -> Arc<dyn Any> {
/DragonOS/kernel/src/net/socket/
H A Dunix.rs117 fn as_any_ref(&self) -> &dyn core::any::Any { in as_any_ref() argument
121 fn as_any_mut(&mut self) -> &mut dyn core::any::Any { in as_any_mut() argument
232 fn as_any_ref(&self) -> &dyn core::any::Any { in as_any_ref() argument
236 fn as_any_mut(&mut self) -> &mut dyn core::any::Any { in as_any_mut() argument
H A Dmod.rs1 use core::{any::Any, fmt::Debug, sync::atomic::AtomicUsize};
97 pub trait Socket: Sync + Send + Debug + Any {
241 fn as_any_ref(&self) -> &dyn Any; in as_any_ref() argument
243 fn as_any_mut(&mut self) -> &mut dyn Any; in as_any_mut() argument
381 fn as_any_ref(&self) -> &dyn Any { in as_any_ref() argument
H A Dinet.rs230 fn as_any_ref(&self) -> &dyn core::any::Any { in as_any_ref() argument
234 fn as_any_mut(&mut self) -> &mut dyn core::any::Any { in as_any_mut() argument
477 fn as_any_ref(&self) -> &dyn core::any::Any { in as_any_ref() argument
481 fn as_any_mut(&mut self) -> &mut dyn core::any::Any { in as_any_mut() argument
1005 fn as_any_ref(&self) -> &dyn core::any::Any { in as_any_ref() argument
1009 fn as_any_mut(&mut self) -> &mut dyn core::any::Any { in as_any_mut() argument
/DragonOS/kernel/src/exception/
H A Dmsi.rs1 use core::{any::Any, fmt::Debug};
135 pub trait MsiDescFuncData: Send + Sync + Any {}
H A Dirqchip.rs1 use core::{any::Any, fmt::Debug, intrinsics::unlikely};
39 pub trait IrqChip: Sync + Send + Any + Debug {
231 pub trait IrqChipData: Sync + Send + Any + Debug {
232 fn as_any_ref(&self) -> &dyn Any; in as_any_ref() argument
304 pub trait IrqChipGenericPrivateData: Sync + Send + Any + Debug {}
H A Dirqdesc.rs2 any::Any,
46 pub trait IrqFlowHandler: Debug + Send + Sync + Any {
51 pub trait IrqHandler: Debug + Send + Sync + Any {
553 fn as_any_ref(&self) -> &dyn Any { in as_any_ref() argument
/DragonOS/kernel/src/driver/base/
H A Dkobject.rs1 use core::{any::Any, fmt::Debug, hash::Hash, ops::Deref};
26 pub trait KObject: Any + Send + Sync + Debug + CastFromSync {
27 fn as_any_ref(&self) -> &dyn core::any::Any; in as_any_ref() argument
72 fn as_any_arc(self: Arc<Self>) -> Arc<dyn Any> { in as_any_arc() argument
H A Dcpu.rs1 use core::any::Any;
196 fn as_any_ref(&self) -> &dyn Any { in as_any_ref() argument
/DragonOS/kernel/src/filesystem/vfs/
H A Dmod.rs9 use ::core::{any::Any, fmt::Debug, sync::atomic::AtomicUsize};
127 pub trait IndexNode: Any + Sync + Send + Debug + CastFromSync {
372 fn as_any_ref(&self) -> &dyn Any; in as_any_ref() argument
576 fn as_any_arc(self: Arc<Self>) -> Arc<dyn Any> { in as_any_arc() argument
808 pub trait FileSystem: Any + Sync + Send + Debug {
817 fn as_any_ref(&self) -> &dyn Any; in as_any_ref() argument
844 fn as_any_arc(self: Arc<Self>) -> Arc<dyn Any> { in as_any_arc() argument
H A Dmount.rs2 any::Any,
287 fn as_any_ref(&self) -> &dyn core::any::Any { in as_any_ref() argument
528 fn as_any_ref(&self) -> &dyn Any { in as_any_ref() argument
/DragonOS/docs/kernel/filesystem/
H A Dsysfs.md29 pub trait Device: Any + Send + Sync + Debug {}
47 pub trait Driver: Any + Send + Sync + Debug {}
/DragonOS/kernel/crates/intertrait/
H A DREADME.md12 In Rust, a trait object for a sub-trait of [`std::any::Any`] can be downcast to a concrete type at …
122 `std::sync::Arc` is unique in that it implements `downcast` method only on `dyn Any + Send + Sync +…
134 First of all, [`CastFrom`] trait makes it possible to retrieve an object of [`std::any::Any`]
138 for [`std::any::Any`] back to its concrete type and then creating a trait object for the target tra…
/DragonOS/kernel/src/driver/pci/
H A Draw_device.rs1 use core::any::Any;
152 fn as_any_ref(&self) -> &dyn Any { in as_any_ref() argument
/DragonOS/kernel/src/driver/pci/test/
H A Dpt_device.rs1 use core::any::Any;
144 fn as_any_ref(&self) -> &dyn Any { in as_any_ref() argument
/DragonOS/kernel/src/filesystem/
H A Deventfd.rs14 use core::any::Any;
232 fn as_any_ref(&self) -> &dyn Any { in as_any_ref() argument
/DragonOS/kernel/src/filesystem/devpts/
H A Dmod.rs79 fn as_any_ref(&self) -> &dyn core::any::Any { in as_any_ref() argument
190 fn as_any_ref(&self) -> &dyn core::any::Any { in as_any_ref() argument
/DragonOS/kernel/src/driver/block/
H A Dvirtio_blk.rs1 use core::{any::Any, fmt::Debug};
263 fn as_any_ref(&self) -> &dyn Any { in as_any_ref() argument
413 fn as_any_ref(&self) -> &dyn Any { in as_any_ref() argument
600 fn as_any_ref(&self) -> &dyn Any { in as_any_ref() argument
/DragonOS/kernel/src/arch/x86_64/driver/
H A Drtc.rs1 use core::any::Any;
177 fn as_any_ref(&self) -> &dyn Any { in as_any_ref() argument
/DragonOS/kernel/src/driver/serial/serial8250/
H A Dmod.rs2 any::Any,
264 fn as_any_ref(&self) -> &dyn Any { in as_any_ref() argument
467 fn as_any_ref(&self) -> &dyn core::any::Any { in as_any_ref() argument
/DragonOS/kernel/src/filesystem/devfs/
H A Dnull_dev.rs71 fn as_any_ref(&self) -> &dyn core::any::Any { in as_any_ref() argument
H A Dzero_dev.rs71 fn as_any_ref(&self) -> &dyn core::any::Any { in as_any_ref() argument
/DragonOS/kernel/src/driver/disk/ahci/
H A Dahci_inode.rs76 fn as_any_ref(&self) -> &dyn core::any::Any { in as_any_ref() argument

123