Rust 2018

This commit is contained in:
timfish
2019-09-18 11:21:07 +01:00
parent b92ed6201e
commit 82fd20b2b1
41 changed files with 533 additions and 490 deletions

View File

@@ -1,10 +1,10 @@
//! Helper module which defines `FnArgs`
//! to make function calling easier.
use any::Any;
use crate::any::Any;
pub trait FunArgs<'a> {
fn into_vec(self) -> Vec<&'a mut Any>;
fn into_vec(self) -> Vec<&'a mut dyn Any>;
}
macro_rules! impl_args {
@@ -13,11 +13,12 @@ macro_rules! impl_args {
where
$($p: Any + Clone),*
{
fn into_vec(self) -> Vec<&'a mut Any> {
fn into_vec(self) -> Vec<&'a mut dyn Any> {
let ($($p,)*) = self;
#[allow(unused_variables, unused_mut)]
let mut v = Vec::new();
$(v.push($p as &mut Any);)*
$(v.push($p as &mut dyn Any);)*
v
}