E0070#
Warning name: deprecated_for_in_method
for .. in 迭代使用了已弃用的方法名。
当一个值被用作 for .. in 循环的来源时,MoonBit 现在会查找 iter 或 iter2。旧方法名 iterator 和 iterator2 目前仍然可用,但已经被弃用。
错误示例#
///|
struct Bag {}
///|
fn Bag::iterator(_self : Bag) -> Iter[Int] {
[1, 2, 3].iter()
}
///|
fn sum(bag : Bag) -> Int {
let mut total = 0
for value in bag {
total = total + value
}
total
}
///|
test {
inspect(sum(Bag::{ }), content="6")
}
建议#
将 iterator 重命名为 iter,或将 iterator2 重命名为 iter2。
///|
priv struct Bag {}
///|
fn Bag::iter(_self : Bag) -> Iter[Int] {
[1, 2, 3].iter()
}
///|
fn sum(bag : Bag) -> Int {
let mut total = 0
for value in bag {
total = total + value
}
total
}
///|
test {
inspect(sum(Bag::{ }), content="6")
}