rust_core

Last updated:

0 purchases

rust_core Image
rust_core Images
Add to Cart

Description:

rust core

rust_core is a pure Dart implementation of patterns found in Rust's core library, bringing the power of Rust to Dart!
Rust Core Book 📖
Example #

Goal: Get the index of every "!" in a string not followed by a "?"

Rust:
use std::iter::Peekable;

fn main() {
let string = "kl!sd!?!";
let mut answer: Vec<usize> = Vec::new();
let mut iter: Peekable<_> = string
.chars()
.map_windows(|w: &[char; 2]| *w)
.enumerate()
.peekable();

while let Some((index, window)) = iter.next() {
match window {
['!', '?'] => continue,
['!', _] => answer.push(index),
[_, '!'] if iter.peek().is_none() => answer.push(index + 1),
_ => continue,
}
}
assert_eq!(answer, [2, 7]);
}
copied to clipboard
Dart:
import 'package:rust_core/rust_core.dart';

void main() {
String string = "kl!sd!?!";
List<int> answer = [];
Peekable<(int, Arr<String>)> iter = string
.chars()
.mapWindows(2, identity)
.enumerate()
.peekable();
while (iter.moveNext()) {
final (index, window) = iter.current;
switch (window) {
case ["!", "?"]:
break;
case ["!", _]:
answer.add(index);
case [_, "!"] when iter.peek().isNone():
answer.add(index + 1);
}
}
expect(answer, [2, 7]);
}
copied to clipboard
Project Goals #
rust_core's primary goal is to bring Rust's features and ergonomics to Dart.
To accomplish this, Rust's functionalities are carefully adapted to Dart's paradigms, focusing on a smooth idiomatic language-compatible integration.
The result is developers now have access to powerful tools previously only available to Rust developers.
True to the Rust philosophy, rust_core strives to bring reliability and performance in every feature. Every feature is robustly tested. Over 500 meaningful test suites and counting.

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.