Sha256: 87818dc80cbb521b51938a653d09daf10aafc220bb10425948de82ad670fcb85

Contents?: true

Size: 1007 Bytes

Versions: 30

Compression:

Stored size: 1007 Bytes

Contents

use crate::internals::ast::Container;
use syn::{Path, PathArguments, Token};

pub fn this_type(cont: &Container) -> Path {
    if let Some(remote) = cont.attrs.remote() {
        let mut this = remote.clone();
        for segment in &mut this.segments {
            if let PathArguments::AngleBracketed(arguments) = &mut segment.arguments {
                arguments.colon2_token = None;
            }
        }
        this
    } else {
        Path::from(cont.ident.clone())
    }
}

pub fn this_value(cont: &Container) -> Path {
    if let Some(remote) = cont.attrs.remote() {
        let mut this = remote.clone();
        for segment in &mut this.segments {
            if let PathArguments::AngleBracketed(arguments) = &mut segment.arguments {
                if arguments.colon2_token.is_none() {
                    arguments.colon2_token = Some(Token![::](arguments.lt_token.span));
                }
            }
        }
        this
    } else {
        Path::from(cont.ident.clone())
    }
}

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
wasmtime-29.0.0 ./ext/cargo-vendor/serde_derive-1.0.217/src/this.rs
wasmtime-28.0.0 ./ext/cargo-vendor/serde_derive-1.0.217/src/this.rs
wasmtime-27.0.0 ./ext/cargo-vendor/serde_derive-1.0.215/src/this.rs
wasmtime-26.0.0 ./ext/cargo-vendor/serde_derive-1.0.213/src/this.rs
wasmtime-25.0.2 ./ext/cargo-vendor/serde_derive-1.0.208/src/this.rs
wasmtime-25.0.1 ./ext/cargo-vendor/serde_derive-1.0.208/src/this.rs
wasmtime-25.0.0 ./ext/cargo-vendor/serde_derive-1.0.208/src/this.rs
wasmtime-24.0.0 ./ext/cargo-vendor/serde_derive-1.0.208/src/this.rs
wasmtime-23.0.2 ./ext/cargo-vendor/serde_derive-1.0.195/src/this.rs
wasmtime-22.0.0 ./ext/cargo-vendor/serde_derive-1.0.195/src/this.rs
wasmtime-21.0.1 ./ext/cargo-vendor/serde_derive-1.0.195/src/this.rs
wasmtime-20.0.2 ./ext/cargo-vendor/serde_derive-1.0.195/src/this.rs
wasmtime-20.0.0 ./ext/cargo-vendor/serde_derive-1.0.195/src/this.rs
wasmtime-18.0.3 ./ext/cargo-vendor/serde_derive-1.0.195/src/this.rs
wasmtime-17.0.1 ./ext/cargo-vendor/serde_derive-1.0.195/src/this.rs
wasmtime-17.0.0 ./ext/cargo-vendor/serde_derive-1.0.195/src/this.rs
wasmtime-16.0.0 ./ext/cargo-vendor/serde_derive-1.0.195/src/this.rs
wasmtime-15.0.1 ./ext/cargo-vendor/serde_derive-1.0.195/src/this.rs
wasmtime-15.0.0 ./ext/cargo-vendor/serde_derive-1.0.195/src/this.rs
wasmtime-14.0.4 ./ext/cargo-vendor/serde_derive-1.0.190/src/this.rs