As seen in this repository:
https://github.com/ReactiveX/RxRust/blob/master/src/lib.rs#L110
let gen = move |:| {
let it = range(0is, 20is);
// ~~~ ~~~~
let q = Box::new(Decoupler::new(dtx.clone()));
let mut map1 = Box::new(Map::new(|i : isize| {i * 10}));
let mut map2 = Box::new(Map::new(|i : isize| {i + 2}));
let mut iter = Box::new(IterPublisher::new(it));
map2.subscribe(q);
map1.subscribe(map2);
iter.subscribe(map1);
};
(squiggly emphasis mine)
I'm trying to figure out what is after a numeral is. The Book says about literal suffixes only briefly:
Note that all number literals except the byte literal allow a type suffix, such as 57u8, and _ as a visual separator, such as 1_000.
— https://doc.rust-lang.org/book/ch03-02-data-types.html#integer-types
And the compiler (1.53) only understands a set of specific suffixes, so I could not even get the original crate built on my machine:
invalid suffix `is`
help: the suffix must be one of the numeric types (`u32`, `isize`, `f32`, etc.)
Is it some sort of archaic syntax, or is it me missing something?
In the old, pre 1.0, times, integer suffixes were a little different.
Thanks to the Wayback Machine, we can take a peek to the past:
But in Rust 1.0 the first bullet went away and now you write
20isizeinstead of20is.