Sha256: a2c128955324c2994ed7cdc3fe4eeceb7ad8a0f9d071665a8378c85c8df64ce2

Contents?: true

Size: 1000 Bytes

Versions: 8

Compression:

Stored size: 1000 Bytes

Contents

use 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

8 entries across 8 versions & 1 rubygems

Version Path
wasmtime-9.0.1 ./ext/cargo-vendor/serde_derive-1.0.163/src/this.rs
wasmtime-8.0.0 ./ext/cargo-vendor/serde_derive-1.0.160/src/this.rs
wasmtime-7.0.0 ./ext/cargo-vendor/serde_derive-1.0.159/src/this.rs
wasmtime-6.0.1 ./ext/cargo-vendor/serde_derive-1.0.152/src/this.rs
wasmtime-6.0.0 ./ext/cargo-vendor/serde_derive-1.0.152/src/this.rs
wasmtime-5.0.0 ./ext/cargo-vendor/serde_derive-1.0.152/src/this.rs
wasmtime-0.4.1 ./ext/cargo-vendor/serde_derive-1.0.149/src/this.rs
wasmtime-0.4.0 ./ext/cargo-vendor/serde_derive-1.0.149/src/this.rs