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

fix forbid incompat with serde; missing_debug

https://github.com/rust-lang/rust/issues/81670
This commit is contained in:
Domenic Quirl 2021-05-08 11:34:38 +02:00
parent 0564244837
commit f807c1e4ac
3 changed files with 6 additions and 8 deletions

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 //! 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). //! 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( #![forbid(missing_debug_implementations, unconditional_recursion)]
// missing_debug_implementations, #![deny(unsafe_code, missing_docs, future_incompatible)]
unconditional_recursion,
future_incompatible,
)]
#![deny(unsafe_code, missing_docs)]
#[allow(unsafe_code)] #[allow(unsafe_code)]
mod green; mod green;

View file

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

View file

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