use oss_derive::oss_file; fn main() { assert!(true); } #[oss_file] pub trait File { fn foo1>(&self, _a: String, path: OP, _b: String) -> String { let _p = path.into(); String::from("abc") } fn foo2>(&self, _a: T) -> String { String::from("abc") } fn foo3, F>(&self, _a: T, _b: F, key: &str) -> String where F: Fn(&Vec) -> &'static str, { let mut string = String::from(key); string.push_str("abc"); string } } pub struct RcPointer; pub struct Base; pub struct ObjectPath; pub struct Object { pub inner: T, } impl Object { pub fn path(&self) -> ObjectPath { ObjectPath } }