结构体 `SourceFile`

源码
pub struct SourceFile(/* private fields */);
🔬这是一个仅限 nightly 版本提供的实验性 API。(`proc_macro_span` #54725
展开描述

给定 `Span` 的源文件。

实现§

源码§

impl SourceFile

源码

pub fn path(&self) -> PathBuf

🔬这是一个仅限 nightly 版本提供的实验性 API。(`proc_macro_span` #54725

获取此源文件的路径。

§注意

如果与此 `SourceFile` 关联的代码 span 是由外部宏生成的,则此路径可能不是文件系统上的实际路径。使用 [`is_real`](struct.SourceFile.html#method.is_real) 方法检查。

另请注意,即使 `is_real` 返回 `true`,如果在命令行中传递了 `--remap-path-prefix` 参数,给定的路径也可能不是实际有效的。

源码

pub fn is_real(&self) -> bool

🔬这是一个仅限 nightly 版本提供的实验性 API。(`proc_macro_span` #54725

如果此源文件是真实的源文件,而不是由外部宏展开生成的,则返回 `true`。

Trait 实现§

源码§

impl Clone for SourceFile

源码§

fn clone(&self) -> SourceFile

返回值的副本。 阅读更多
1.0.0 · 源码§

fn clone_from(&mut self, source: &Self)

从 `source` 执行复制赋值。 阅读更多
源码§

impl Debug for SourceFile

源码§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

使用给定的格式化程序格式化值。 阅读更多
源码§

impl PartialEq for SourceFile

源码§

fn eq(&self, other: &Self) -> bool

测试 `self` 和 `other` 值是否相等,供 `==` 使用。
1.0.0 · 源码§

fn ne(&self, other: &Rhs) -> bool

测试 `!=`。默认实现几乎总是足够的,除非有非常好的理由,否则不应覆盖。
源码§

impl Eq for SourceFile

自动 Trait 实现§

Blanket 实现§

源码§

impl<T> Any for T
where T: 'static + ?Sized,

源码§

fn type_id(&self) -> TypeId

获取 `self` 的 `TypeId`。 阅读更多
源码§

impl<T> Borrow<T> for T
where T: ?Sized,

源码§

fn borrow(&self) -> &T

从一个拥有的值进行不可变借用。 阅读更多
源码§

impl<T> BorrowMut<T> for T
where T: ?Sized,

源码§

fn borrow_mut(&mut self) -> &mut T

从一个拥有的值进行可变借用。 阅读更多
源码§

impl<T> CloneToUninit for T
where T: Clone,

源码§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬这是一个仅限 nightly 版本提供的实验性 API。(`clone_to_uninit` #126799
从 `self` 向 `dest` 执行复制赋值。 阅读更多
源码§

impl<T> From<T> for T

源码§

fn from(t: T) -> T

返回未更改的参数。

源码§

impl<T, U> Into<U> for T
where U: From<T>,

源码§

fn into(self) -> U

调用 `U::from(self)`。

也就是说,此转换由 `From for U` 的实现决定。

源码§

impl<T> ToOwned for T
where T: Clone,

源码§

type Owned = T

获得所有权后的结果类型。
源码§

fn to_owned(&self) -> T

从借用的数据创建拥有的数据,通常通过克隆实现。 阅读更多
源码§

fn clone_into(&self, target: &mut T)

使用借用的数据替换拥有的数据,通常通过克隆实现。 阅读更多
源码§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

源码§

type Error = Infallible

转换错误时返回的类型。
源码§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

执行转换。
源码§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

源码§

type Error = <U as TryFrom<T>>::Error

转换错误时返回的类型。
源码§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

执行转换。