blob: 58177444c3f9898cfd5c049578461413434b4258 [file] [log] [blame] [edit]
//! Tests for trait/type errors when dereferencing via macro in a for loop.
macro_rules! deref {
($e:expr) => {
*$e
};
}
fn f1(x: &mut i32) {
for _item in deref!(x) {}
//~^ ERROR `i32` is not an iterator
}
struct Wrapped(i32);
macro_rules! borrow_deref {
($e:expr) => {
&mut *$e
};
}
fn f2<'a>(mut iter: Box<dyn Iterator<Item = &'a mut i32>>) {
for Wrapped(item) in borrow_deref!(iter) {
//~^ ERROR mismatched types
*item = 0
}
}
fn main() {}