Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #![feature(type_ascription)]
- #![allow(dead_code)]
- // SUMMARY OF BEHAVIOR
- //
- // EDITION WILD VAR EXPR ARG
- // ----------- ------ ------ ------ ------
- // 2015/AST accept accept reject accept
- // 2018/AST accept accept reject accept
- // #55748 hack reject accept reject accept
- #[derive(Copy, Clone)]
- struct Covariant<'a> {
- f: extern "Rust" fn(&'a isize)
- }
- fn co_arg(_co_s: Covariant<'static>) { }
- #[cfg(not_now)]
- fn ascribe_wild<'a>(co: Covariant<'a>) {
- let _: Covariant<'static> = co; // (ascribe on) WILD(card)
- }
- #[cfg(not_now)]
- fn ascribe_var<'a>(co: Covariant<'a>) {
- let _c: Covariant<'static> = co; // (ascribe on) VAR
- }
- #[cfg(not_now)]
- fn ascribe_expr<'a>(co: Covariant<'a>) {
- let _ = co: Covariant<'static>; // (ascribe on) EXPR
- }
- // #[cfg(not_now)]
- fn pass_actual_arg<'a>(co: Covariant<'a>) {
- co_arg(co); // (actual )ARG(ument)
- }
- pub fn main() {}
Add Comment
Please, Sign In to add comment