Fork channel

Create a new channel as a copy of main.

Rename channel

Rename main to:

Delete channel

Delete main? This cannot be undone.

lib.rs
use std::convert::TryInto;

pub fn sum_of_multiples(limit: u32, factors: &[u32]) -> u32 {
	let (mut done, mut out) = (Vec::with_capacity(factors.len()), 0);
	factors
		.iter()
		.filter(|&&factor| factor != 0)
		.for_each(|&factor| {
			out += (factor..limit)
				.step_by(factor.try_into().unwrap())
				.filter(|&multiple| !done.iter().any(|&done_factor| multiple % done_factor == 0))
				.sum::<u32>();
			done.push(factor);
		});
	out
}