|
1 | | -# Fast template for developing a new Rust project |
| 1 | +# Visitor Pattern in Rust |
2 | 2 |
|
3 | 3 | [![Crates.io][crates-badge]][crates-url] |
4 | 4 | [![Documentation][docs-badge]][docs-url] |
5 | 5 | [![MSRV 1.85][msrv-badge]](https://www.whatrustisit.com) |
6 | 6 | [![Apache 2.0 licensed][license-badge]][license-url] |
7 | 7 | [![Build Status][actions-badge]][actions-url] |
8 | 8 |
|
9 | | -[crates-badge]: https://img.shields.io/crates/v/template.svg |
10 | | -[crates-url]: https://crates.io/crates/template |
11 | | -[docs-badge]: https://docs.rs/template/badge.svg |
| 9 | +[crates-badge]: https://img.shields.io/crates/v/visitor.svg |
| 10 | +[crates-url]: https://crates.io/crates/visitor |
| 11 | +[docs-badge]: https://docs.rs/visitor/badge.svg |
12 | 12 | [msrv-badge]: https://img.shields.io/badge/MSRV-1.85-green?logo=rust |
13 | | -[docs-url]: https://docs.rs/template |
14 | | -[license-badge]: https://img.shields.io/crates/l/template |
| 13 | +[docs-url]: https://docs.rs/visitor |
| 14 | +[license-badge]: https://img.shields.io/crates/l/visitor |
15 | 15 | [license-url]: LICENSE |
16 | | -[actions-badge]: https://github.com/fast/template/workflows/CI/badge.svg |
17 | | -[actions-url]:https://github.com/fast/template/actions?query=workflow%3ACI |
| 16 | +[actions-badge]: https://github.com/fast/visitor/workflows/CI/badge.svg |
| 17 | +[actions-url]:https://github.com/fast/visitor/actions?query=workflow%3ACI |
18 | 18 |
|
19 | | -Use this repository as a GitHub template to quickly start a new Rust project. |
| 19 | +## Overview |
| 20 | + |
| 21 | +This crate provides traits and proc macros to implement the visitor pattern for arbitrary data structures. This pattern is particularly useful when dealing with complex nested data structures, abstract trees and hierarchies of all kinds. |
20 | 22 |
|
21 | 23 | ## Minimum Rust version policy |
22 | 24 |
|
23 | 25 | This crate is built against the latest stable release, and its minimum supported rustc version is 1.85.0. |
24 | 26 |
|
25 | | -The policy is that the minimum Rust version required to use this crate can be increased in minor version updates. For example, if Template 1.0 requires Rust 1.60.0, then Template 1.0.z for all values of z will also require Rust 1.60.0 or newer. However, Template 1.y for y > 0 may require a newer minimum version of Rust. |
| 27 | +The policy is that the minimum Rust version required to use this crate can be increased in minor version updates. For example, if Visitor 1.0 requires Rust 1.60.0, then Visitor 1.0.z for all values of z will also require Rust 1.60.0 or newer. However, Visitor 1.y for y > 0 may require a newer minimum version of Rust. |
26 | 28 |
|
27 | 29 | ## License |
28 | 30 |
|
|
0 commit comments