2023-01-07 18:37:22 -06:00
|
|
|
//@ check-pass
|
2023-01-19 09:31:50 -06:00
|
|
|
//@ force-host
|
|
|
|
//@ no-prefer-dynamic
|
2024-03-25 09:24:08 -05:00
|
|
|
//@ needs-unwind compiling proc macros with panic=abort causes a warning
|
2023-01-07 18:37:22 -06:00
|
|
|
|
|
|
|
#![crate_type = "proc-macro"]
|
2023-06-19 09:06:00 -05:00
|
|
|
#![allow(private_interfaces)]
|
2023-01-07 18:37:22 -06:00
|
|
|
extern crate proc_macro;
|
|
|
|
use proc_macro::TokenStream;
|
|
|
|
|
|
|
|
#[proc_macro]
|
|
|
|
pub fn foo<T>(t: T) -> TokenStream {
|
2024-03-25 09:24:08 -05:00
|
|
|
TokenStream::new()
|
2023-01-07 18:37:22 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
trait Project {
|
|
|
|
type Assoc;
|
|
|
|
}
|
|
|
|
|
|
|
|
impl Project for () {
|
|
|
|
type Assoc = TokenStream;
|
|
|
|
}
|
|
|
|
|
|
|
|
#[proc_macro]
|
|
|
|
pub fn uwu(_input: <() as Project>::Assoc) -> <() as Project>::Assoc {
|
|
|
|
TokenStream::new()
|
|
|
|
}
|