1
Fork 0
mirror of https://github.com/RGBCube/cstree synced 2025-07-27 09:07:44 +00:00

Merge branch 'master' into v0.6

This commit is contained in:
Domenic Quirl 2021-06-23 14:21:36 +02:00
commit 5bee3abe73
5 changed files with 11 additions and 11 deletions

View file

@ -6,7 +6,7 @@ on:
pull_request:
# Daily
schedule:
- cron: "0 4 * * *"
- cron: "0 4 1/7 * *"
# Allows to run this workflow manually from the Actions tab
workflow_dispatch:
@ -101,7 +101,9 @@ jobs:
with:
rust-version: nightly
components: miri
- run: cargo miri test --verbose --all-features -- -Zmiri-disable-isolation
env:
MIRIFLAGS: -Zmiri-disable-isolation
- run: cargo miri test --verbose --all-features
sanitizers:
name: ${{ matrix.sanitizer }} sanitizer

View file

@ -1,7 +1,7 @@
[package]
edition = "2018"
name = "cstree"
version = "0.4.0"
version = "0.6.0"
authors = [
"Domenic Quirl <DomenicQuirl@pm.me>",
"Aleksey Kladov <aleksey.kladov@gmail.com>",

View file

@ -43,12 +43,8 @@
//! an AST representation, or freely switch between them. To do so, use `cstree` to build syntax and underlying green
//! tree and provide AST wrappers for your different kinds of nodes. An example of how this is done can be seen [here](https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/syntax/src/ast/generated.rs) and [here](https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/syntax/src/ast/generated/nodes.rs) (note that the latter file is automatically generated by a task).
#![forbid(
// missing_debug_implementations,
unconditional_recursion,
future_incompatible,
)]
#![deny(unsafe_code, missing_docs)]
#![forbid(missing_debug_implementations, unconditional_recursion)]
#![deny(unsafe_code, missing_docs, future_incompatible)]
#[allow(unsafe_code)]
mod green;

View file

@ -23,6 +23,7 @@ use triomphe::Arc;
/// Syntax nodes can be shared between threads.
/// Every syntax tree is reference counted as a whole and nodes are pointer-sized, so copying
/// individual nodes is relatively cheap.
#[derive(Debug)]
#[repr(transparent)]
pub struct SyntaxNode<L: Language, D: 'static = ()> {
data: *mut NodeData<L, D>,
@ -983,7 +984,7 @@ impl<'n> Iter<'n> {
}
/// An iterator over the child nodes of a [`SyntaxNode`].
#[derive(Clone)]
#[derive(Clone, Debug)]
pub struct SyntaxNodeChildren<'n, L: Language, D: 'static = ()> {
inner: Iter<'n>,
parent: &'n SyntaxNode<L, D>,
@ -1014,7 +1015,7 @@ impl<'n, L: Language, D> Iterator for SyntaxNodeChildren<'n, L, D> {
}
/// An iterator over the children of a [`SyntaxNode`].
#[derive(Clone)]
#[derive(Clone, Debug)]
pub struct SyntaxElementChildren<'n, L: Language, D: 'static = ()> {
inner: Iter<'n>,
parent: &'n SyntaxNode<L, D>,

View file

@ -11,6 +11,7 @@ use super::*;
use crate::{Direction, GreenNode, GreenToken, Language, SyntaxKind};
/// Syntax tree token.
#[derive(Debug)]
pub struct SyntaxToken<L: Language, D: 'static = ()> {
parent: SyntaxNode<L, D>,
index: u32,