Rename BindPat -> IdentPat

This commit is contained in:
Aleksey Kladov 2020-07-31 20:09:09 +02:00
parent 6791eb9685
commit 9818108798
83 changed files with 277 additions and 273 deletions

View file

@ -27,7 +27,7 @@ pub(crate) fn add_explicit_type(acc: &mut Assists, ctx: &AssistContext) -> Optio
let expr = let_stmt.initializer()?; let expr = let_stmt.initializer()?;
// Must be a binding // Must be a binding
let pat = match let_stmt.pat()? { let pat = match let_stmt.pat()? {
ast::Pat::BindPat(bind_pat) => bind_pat, ast::Pat::IdentPat(bind_pat) => bind_pat,
_ => return None, _ => return None,
}; };
let pat_range = pat.syntax().text_range(); let pat_range = pat.syntax().text_range();

View file

@ -150,7 +150,7 @@ fn does_pat_match_variant(pat: &Pat, var: &Pat) -> bool {
let first_node_text = |pat: &Pat| pat.syntax().first_child().map(|node| node.text()); let first_node_text = |pat: &Pat| pat.syntax().first_child().map(|node| node.text());
let pat_head = match pat { let pat_head = match pat {
Pat::BindPat(bind_pat) => { Pat::IdentPat(bind_pat) => {
if let Some(p) = bind_pat.pat() { if let Some(p) = bind_pat.pat() {
first_node_text(&p) first_node_text(&p)
} else { } else {

View file

@ -29,7 +29,7 @@ use crate::{
pub(crate) fn inline_local_variable(acc: &mut Assists, ctx: &AssistContext) -> Option<()> { pub(crate) fn inline_local_variable(acc: &mut Assists, ctx: &AssistContext) -> Option<()> {
let let_stmt = ctx.find_node_at_offset::<ast::LetStmt>()?; let let_stmt = ctx.find_node_at_offset::<ast::LetStmt>()?;
let bind_pat = match let_stmt.pat()? { let bind_pat = match let_stmt.pat()? {
ast::Pat::BindPat(pat) => pat, ast::Pat::IdentPat(pat) => pat,
_ => return None, _ => return None,
}; };
if bind_pat.mut_token().is_some() { if bind_pat.mut_token().is_some() {

View file

@ -57,7 +57,7 @@ fn reorder<R: AstNode>(acc: &mut Assists, ctx: &AssistContext) -> Option<()> {
fn get_fields_kind(node: &SyntaxNode) -> Vec<SyntaxKind> { fn get_fields_kind(node: &SyntaxNode) -> Vec<SyntaxKind> {
match node.kind() { match node.kind() {
RECORD_EXPR => vec![RECORD_EXPR_FIELD], RECORD_EXPR => vec![RECORD_EXPR_FIELD],
RECORD_PAT => vec![RECORD_PAT_FIELD, BIND_PAT], RECORD_PAT => vec![RECORD_PAT_FIELD, IDENT_PAT],
_ => vec![], _ => vec![],
} }
} }

View file

@ -1002,7 +1002,7 @@ impl Local {
Type::new(db, krate, def, ty) Type::new(db, krate, def, ty)
} }
pub fn source(self, db: &dyn HirDatabase) -> InFile<Either<ast::BindPat, ast::SelfParam>> { pub fn source(self, db: &dyn HirDatabase) -> InFile<Either<ast::IdentPat, ast::SelfParam>> {
let (_body, source_map) = db.body_with_source_map(self.parent.into()); let (_body, source_map) = db.body_with_source_map(self.parent.into());
let src = source_map.pat_syntax(self.pat_id).unwrap(); // Hmm... let src = source_map.pat_syntax(self.pat_id).unwrap(); // Hmm...
let root = src.file_syntax(db.upcast()); let root = src.file_syntax(db.upcast());

View file

@ -236,7 +236,7 @@ impl<'db, DB: HirDatabase> Semantics<'db, DB> {
self.imp.lower_path(path) self.imp.lower_path(path)
} }
pub fn resolve_bind_pat_to_const(&self, pat: &ast::BindPat) -> Option<ModuleDef> { pub fn resolve_bind_pat_to_const(&self, pat: &ast::IdentPat) -> Option<ModuleDef> {
self.imp.resolve_bind_pat_to_const(pat) self.imp.resolve_bind_pat_to_const(pat)
} }
@ -452,7 +452,7 @@ impl<'db> SemanticsImpl<'db> {
Path::from_src(path.clone(), &Hygiene::new(self.db.upcast(), src.file_id.into())) Path::from_src(path.clone(), &Hygiene::new(self.db.upcast(), src.file_id.into()))
} }
fn resolve_bind_pat_to_const(&self, pat: &ast::BindPat) -> Option<ModuleDef> { fn resolve_bind_pat_to_const(&self, pat: &ast::IdentPat) -> Option<ModuleDef> {
self.analyze(pat.syntax()).resolve_bind_pat_to_const(self.db, pat) self.analyze(pat.syntax()).resolve_bind_pat_to_const(self.db, pat)
} }
@ -594,7 +594,7 @@ to_def_impls![
(crate::EnumVariant, ast::Variant, enum_variant_to_def), (crate::EnumVariant, ast::Variant, enum_variant_to_def),
(crate::TypeParam, ast::TypeParam, type_param_to_def), (crate::TypeParam, ast::TypeParam, type_param_to_def),
(crate::MacroDef, ast::MacroCall, macro_call_to_def), // this one is dubious, not all calls are macros (crate::MacroDef, ast::MacroCall, macro_call_to_def), // this one is dubious, not all calls are macros
(crate::Local, ast::BindPat, bind_pat_to_def), (crate::Local, ast::IdentPat, bind_pat_to_def),
]; ];
fn find_root(node: &SyntaxNode) -> SyntaxNode { fn find_root(node: &SyntaxNode) -> SyntaxNode {

View file

@ -106,7 +106,7 @@ impl SourceToDefCtx<'_, '_> {
} }
pub(super) fn bind_pat_to_def( pub(super) fn bind_pat_to_def(
&mut self, &mut self,
src: InFile<ast::BindPat>, src: InFile<ast::IdentPat>,
) -> Option<(DefWithBodyId, PatId)> { ) -> Option<(DefWithBodyId, PatId)> {
let container = self.find_pat_container(src.as_ref().map(|it| it.syntax()))?; let container = self.find_pat_container(src.as_ref().map(|it| it.syntax()))?;
let (_body, source_map) = self.db.body_with_source_map(container); let (_body, source_map) = self.db.body_with_source_map(container);

View file

@ -202,7 +202,7 @@ impl SourceAnalyzer {
pub(crate) fn resolve_bind_pat_to_const( pub(crate) fn resolve_bind_pat_to_const(
&self, &self,
db: &dyn HirDatabase, db: &dyn HirDatabase,
pat: &ast::BindPat, pat: &ast::IdentPat,
) -> Option<ModuleDef> { ) -> Option<ModuleDef> {
let pat_id = self.pat_id(&pat.clone().into())?; let pat_id = self.pat_id(&pat.clone().into())?;
let body = self.body.as_ref()?; let body = self.body.as_ref()?;

View file

@ -723,7 +723,7 @@ impl ExprCollector<'_> {
fn collect_pat(&mut self, pat: ast::Pat) -> PatId { fn collect_pat(&mut self, pat: ast::Pat) -> PatId {
let pattern = match &pat { let pattern = match &pat {
ast::Pat::BindPat(bp) => { ast::Pat::IdentPat(bp) => {
let name = bp.name().map(|nr| nr.as_name()).unwrap_or_else(Name::missing); let name = bp.name().map(|nr| nr.as_name()).unwrap_or_else(Name::missing);
let annotation = let annotation =
BindingAnnotation::new(bp.mut_token().is_some(), bp.ref_token().is_some()); BindingAnnotation::new(bp.mut_token().is_some(), bp.ref_token().is_some());

View file

@ -275,7 +275,7 @@ impl<'a> CompletionContext<'a> {
// Otherwise, see if this is a declaration. We can use heuristics to // Otherwise, see if this is a declaration. We can use heuristics to
// suggest declaration names, see `CompletionKind::Magic`. // suggest declaration names, see `CompletionKind::Magic`.
if let Some(name) = find_node_at_offset::<ast::Name>(&file_with_fake_ident, offset) { if let Some(name) = find_node_at_offset::<ast::Name>(&file_with_fake_ident, offset) {
if let Some(bind_pat) = name.syntax().ancestors().find_map(ast::BindPat::cast) { if let Some(bind_pat) = name.syntax().ancestors().find_map(ast::IdentPat::cast) {
self.is_pat_binding_or_const = true; self.is_pat_binding_or_const = true;
if bind_pat.at_token().is_some() if bind_pat.at_token().is_some()
|| bind_pat.ref_token().is_some() || bind_pat.ref_token().is_some()

View file

@ -44,7 +44,7 @@ fn test_has_block_expr_parent() {
} }
pub(crate) fn has_bind_pat_parent(element: SyntaxElement) -> bool { pub(crate) fn has_bind_pat_parent(element: SyntaxElement) -> bool {
element.ancestors().find(|it| it.kind() == BIND_PAT).is_some() element.ancestors().find(|it| it.kind() == IDENT_PAT).is_some()
} }
#[test] #[test]
fn test_has_bind_pat_parent() { fn test_has_bind_pat_parent() {

View file

@ -7,7 +7,7 @@ use ra_ide_db::{defs::Definition, RootDatabase};
use ra_syntax::{ use ra_syntax::{
ast::{self, DocCommentsOwner, NameOwner}, ast::{self, DocCommentsOwner, NameOwner},
match_ast, AstNode, SmolStr, match_ast, AstNode, SmolStr,
SyntaxKind::{self, BIND_PAT, TYPE_PARAM}, SyntaxKind::{self, IDENT_PAT, TYPE_PARAM},
TextRange, TextRange,
}; };
@ -339,7 +339,7 @@ impl ToNav for hir::Local {
NavigationTarget { NavigationTarget {
file_id: full_range.file_id, file_id: full_range.file_id,
name, name,
kind: BIND_PAT, kind: IDENT_PAT,
full_range: full_range.range, full_range: full_range.range,
focus_range: None, focus_range: None,
container_name: None, container_name: None,

View file

@ -78,7 +78,7 @@ pub(crate) fn inlay_hints(
match node { match node {
ast::CallExpr(it) => { get_param_name_hints(&mut res, &sema, config, ast::Expr::from(it)); }, ast::CallExpr(it) => { get_param_name_hints(&mut res, &sema, config, ast::Expr::from(it)); },
ast::MethodCallExpr(it) => { get_param_name_hints(&mut res, &sema, config, ast::Expr::from(it)); }, ast::MethodCallExpr(it) => { get_param_name_hints(&mut res, &sema, config, ast::Expr::from(it)); },
ast::BindPat(it) => { get_bind_pat_hints(&mut res, &sema, config, it); }, ast::IdentPat(it) => { get_bind_pat_hints(&mut res, &sema, config, it); },
_ => (), _ => (),
} }
} }
@ -161,7 +161,7 @@ fn get_param_name_hints(
Either::Left(self_param) => Some((self_param.to_string(), arg)), Either::Left(self_param) => Some((self_param.to_string(), arg)),
Either::Right(pat) => { Either::Right(pat) => {
let param_name = match pat { let param_name = match pat {
ast::Pat::BindPat(it) => it.name()?.to_string(), ast::Pat::IdentPat(it) => it.name()?.to_string(),
it => it.to_string(), it => it.to_string(),
}; };
Some((param_name, arg)) Some((param_name, arg))
@ -182,7 +182,7 @@ fn get_bind_pat_hints(
acc: &mut Vec<InlayHint>, acc: &mut Vec<InlayHint>,
sema: &Semantics<RootDatabase>, sema: &Semantics<RootDatabase>,
config: &InlayHintsConfig, config: &InlayHintsConfig,
pat: ast::BindPat, pat: ast::IdentPat,
) -> Option<()> { ) -> Option<()> {
if !config.type_hints { if !config.type_hints {
return None; return None;
@ -202,7 +202,7 @@ fn get_bind_pat_hints(
Some(()) Some(())
} }
fn pat_is_enum_variant(db: &RootDatabase, bind_pat: &ast::BindPat, pat_ty: &Type) -> bool { fn pat_is_enum_variant(db: &RootDatabase, bind_pat: &ast::IdentPat, pat_ty: &Type) -> bool {
if let Some(Adt::Enum(enum_data)) = pat_ty.as_adt() { if let Some(Adt::Enum(enum_data)) = pat_ty.as_adt() {
let pat_text = bind_pat.to_string(); let pat_text = bind_pat.to_string();
enum_data enum_data
@ -215,7 +215,11 @@ fn pat_is_enum_variant(db: &RootDatabase, bind_pat: &ast::BindPat, pat_ty: &Type
} }
} }
fn should_not_display_type_hint(db: &RootDatabase, bind_pat: &ast::BindPat, pat_ty: &Type) -> bool { fn should_not_display_type_hint(
db: &RootDatabase,
bind_pat: &ast::IdentPat,
pat_ty: &Type,
) -> bool {
if pat_ty.is_unknown() { if pat_ty.is_unknown() {
return true; return true;
} }

View file

@ -150,7 +150,7 @@ fn decl_access(def: &Definition, syntax: &SyntaxNode, range: TextRange) -> Optio
let stmt = find_node_at_offset::<ast::LetStmt>(syntax, range.start())?; let stmt = find_node_at_offset::<ast::LetStmt>(syntax, range.start())?;
if stmt.initializer().is_some() { if stmt.initializer().is_some() {
let pat = stmt.pat()?; let pat = stmt.pat()?;
if let ast::Pat::BindPat(it) = pat { if let ast::Pat::IdentPat(it) = pat {
if it.mut_token().is_some() { if it.mut_token().is_some() {
return Some(ReferenceAccess::Write); return Some(ReferenceAccess::Write);
} }
@ -290,7 +290,7 @@ fn main() {
); );
check_result( check_result(
refs, refs,
"i BIND_PAT FileId(1) 24..25 Other Write", "i IDENT_PAT FileId(1) 24..25 Other Write",
&[ &[
"FileId(1) 50..51 Other Write", "FileId(1) 50..51 Other Write",
"FileId(1) 54..55 Other Read", "FileId(1) 54..55 Other Read",
@ -316,7 +316,7 @@ fn bar() {
); );
check_result( check_result(
refs, refs,
"spam BIND_PAT FileId(1) 19..23 Other", "spam IDENT_PAT FileId(1) 19..23 Other",
&["FileId(1) 34..38 Other Read", "FileId(1) 41..45 Other Read"], &["FileId(1) 34..38 Other Read", "FileId(1) 41..45 Other Read"],
); );
} }
@ -330,7 +330,7 @@ fn foo(i : u32) -> u32 {
} }
"#, "#,
); );
check_result(refs, "i BIND_PAT FileId(1) 7..8 Other", &["FileId(1) 29..30 Other Read"]); check_result(refs, "i IDENT_PAT FileId(1) 7..8 Other", &["FileId(1) 29..30 Other Read"]);
} }
#[test] #[test]
@ -342,7 +342,7 @@ fn foo(i<|> : u32) -> u32 {
} }
"#, "#,
); );
check_result(refs, "i BIND_PAT FileId(1) 7..8 Other", &["FileId(1) 29..30 Other Read"]); check_result(refs, "i IDENT_PAT FileId(1) 7..8 Other", &["FileId(1) 29..30 Other Read"]);
} }
#[test] #[test]
@ -559,7 +559,7 @@ fn foo() {
); );
check_result( check_result(
refs, refs,
"i BIND_PAT FileId(1) 23..24 Other Write", "i IDENT_PAT FileId(1) 23..24 Other Write",
&["FileId(1) 34..35 Other Write", "FileId(1) 38..39 Other Read"], &["FileId(1) 34..35 Other Write", "FileId(1) 38..39 Other Read"],
); );
} }
@ -595,7 +595,7 @@ fn foo() {
} }
"#, "#,
); );
check_result(refs, "i BIND_PAT FileId(1) 19..20 Other", &["FileId(1) 26..27 Other Write"]); check_result(refs, "i IDENT_PAT FileId(1) 19..20 Other", &["FileId(1) 26..27 Other Write"]);
} }
#[test] #[test]

View file

@ -717,7 +717,7 @@ fn highlight_name_by_syntax(name: ast::Name) -> Highlight {
CONST => HighlightTag::Constant, CONST => HighlightTag::Constant,
STATIC => HighlightTag::Static, STATIC => HighlightTag::Static,
VARIANT => HighlightTag::EnumVariant, VARIANT => HighlightTag::EnumVariant,
BIND_PAT => HighlightTag::Local, IDENT_PAT => HighlightTag::Local,
_ => default, _ => default,
}; };

View file

@ -111,7 +111,7 @@ pub fn classify_name(sema: &Semantics<RootDatabase>, name: &ast::Name) -> Option
let parent = name.syntax().parent()?; let parent = name.syntax().parent()?;
if let Some(bind_pat) = ast::BindPat::cast(parent.clone()) { if let Some(bind_pat) = ast::IdentPat::cast(parent.clone()) {
if let Some(def) = sema.resolve_bind_pat_to_const(&bind_pat) { if let Some(def) = sema.resolve_bind_pat_to_const(&bind_pat) {
return Some(NameClass::ConstReference(Definition::ModuleDef(def))); return Some(NameClass::ConstReference(Definition::ModuleDef(def)));
} }
@ -128,7 +128,7 @@ pub fn classify_name(sema: &Semantics<RootDatabase>, name: &ast::Name) -> Option
Some(NameClass::Definition(name_ref_class.definition())) Some(NameClass::Definition(name_ref_class.definition()))
}, },
ast::BindPat(it) => { ast::IdentPat(it) => {
let local = sema.to_def(&it)?; let local = sema.to_def(&it)?;
if let Some(record_field_pat) = it.syntax().parent().and_then(ast::RecordPatField::cast) { if let Some(record_field_pat) = it.syntax().parent().and_then(ast::RecordPatField::cast) {

View file

@ -625,7 +625,7 @@ fn test_tt_to_stmts() {
r#"MACRO_STMTS@0..15 r#"MACRO_STMTS@0..15
LET_STMT@0..7 LET_STMT@0..7
LET_KW@0..3 "let" LET_KW@0..3 "let"
BIND_PAT@3..4 IDENT_PAT@3..4
NAME@3..4 NAME@3..4
IDENT@3..4 "a" IDENT@3..4 "a"
EQ@4..5 "=" EQ@4..5 "="
@ -1116,7 +1116,7 @@ fn test_vec() {
L_CURLY@0..1 "{" L_CURLY@0..1 "{"
LET_STMT@1..20 LET_STMT@1..20
LET_KW@1..4 "let" LET_KW@1..4 "let"
BIND_PAT@4..8 IDENT_PAT@4..8
MUT_KW@4..7 "mut" MUT_KW@4..7 "mut"
NAME@7..8 NAME@7..8
IDENT@7..8 "v" IDENT@7..8 "v"

View file

@ -361,7 +361,7 @@ fn bind_pat(p: &mut Parser, with_at: bool) -> CompletedMarker {
if with_at && p.eat(T![@]) { if with_at && p.eat(T![@]) {
pattern_single(p); pattern_single(p);
} }
m.complete(p, BIND_PAT) m.complete(p, IDENT_PAT)
} }
// test box_pat // test box_pat

View file

@ -156,7 +156,7 @@ pub enum SyntaxKind {
PAREN_PAT, PAREN_PAT,
REF_PAT, REF_PAT,
BOX_PAT, BOX_PAT,
BIND_PAT, IDENT_PAT,
WILDCARD_PAT, WILDCARD_PAT,
DOT_DOT_PAT, DOT_DOT_PAT,
PATH_PAT, PATH_PAT,

View file

@ -109,7 +109,7 @@ impl RuleBuilder {
// path refers to semantically the same thing, whereas the non-path-based rules could match // path refers to semantically the same thing, whereas the non-path-based rules could match
// anything. Specifically, if we have a rule like `foo ==>> bar` we only want to match the // anything. Specifically, if we have a rule like `foo ==>> bar` we only want to match the
// `foo` that is in the current scope, not any `foo`. However "foo" can be parsed as a // `foo` that is in the current scope, not any `foo`. However "foo" can be parsed as a
// pattern (BIND_PAT -> NAME -> IDENT). Allowing such a rule through would result in // pattern (IDENT_PAT -> NAME -> IDENT). Allowing such a rule through would result in
// renaming everything called `foo` to `bar`. It'd also be slow, since without a path, we'd // renaming everything called `foo` to `bar`. It'd also be slow, since without a path, we'd
// have to use the slow-scan search mechanism. // have to use the slow-scan search mechanism.
if self.rules.iter().any(|rule| contains_path(&rule.pattern)) { if self.rules.iter().any(|rule| contains_path(&rule.pattern)) {

View file

@ -198,7 +198,7 @@ fn pick_node_for_resolution(node: SyntaxNode) -> SyntaxNode {
return n; return n;
} }
} }
SyntaxKind::LET_STMT | SyntaxKind::BIND_PAT => { SyntaxKind::LET_STMT | SyntaxKind::IDENT_PAT => {
if let Some(next) = node.next_sibling() { if let Some(next) = node.next_sibling() {
return pick_node_for_resolution(next); return pick_node_for_resolution(next);
} }

View file

@ -924,7 +924,7 @@ fn ufcs_matches_method_call() {
fn pattern_is_a_single_segment_path() { fn pattern_is_a_single_segment_path() {
mark::check!(pattern_is_a_single_segment_path); mark::check!(pattern_is_a_single_segment_path);
// The first function should not be altered because the `foo` in scope at the cursor position is // The first function should not be altered because the `foo` in scope at the cursor position is
// a different `foo`. This case is special because "foo" can be parsed as a pattern (BIND_PAT -> // a different `foo`. This case is special because "foo" can be parsed as a pattern (IDENT_PAT ->
// NAME -> IDENT), which contains no path. If we're not careful we'll end up matching the `foo` // NAME -> IDENT), which contains no path. If we're not careful we'll end up matching the `foo`
// in `let foo` from the first function. Whether we should match the `let foo` in the second // in `let foo` from the first function. Whether we should match the `let foo` in the second
// function is less clear. At the moment, we don't. Doing so sounds like a rename operation, // function is less clear. At the moment, we don't. Doing so sounds like a rename operation,

View file

@ -1111,12 +1111,12 @@ impl TypeBound {
pub fn ty(&self) -> Option<Type> { support::child(&self.syntax) } pub fn ty(&self) -> Option<Type> { support::child(&self.syntax) }
} }
#[derive(Debug, Clone, PartialEq, Eq, Hash)] #[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct BindPat { pub struct IdentPat {
pub(crate) syntax: SyntaxNode, pub(crate) syntax: SyntaxNode,
} }
impl ast::AttrsOwner for BindPat {} impl ast::AttrsOwner for IdentPat {}
impl ast::NameOwner for BindPat {} impl ast::NameOwner for IdentPat {}
impl BindPat { impl IdentPat {
pub fn ref_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![ref]) } pub fn ref_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![ref]) }
pub fn mut_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![mut]) } pub fn mut_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![mut]) }
pub fn at_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![@]) } pub fn at_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![@]) }
@ -1335,7 +1335,7 @@ pub enum Stmt {
} }
#[derive(Debug, Clone, PartialEq, Eq, Hash)] #[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub enum Pat { pub enum Pat {
BindPat(BindPat), IdentPat(IdentPat),
BoxPat(BoxPat), BoxPat(BoxPat),
DotDotPat(DotDotPat), DotDotPat(DotDotPat),
LiteralPat(LiteralPat), LiteralPat(LiteralPat),
@ -2556,8 +2556,8 @@ impl AstNode for TypeBound {
} }
fn syntax(&self) -> &SyntaxNode { &self.syntax } fn syntax(&self) -> &SyntaxNode { &self.syntax }
} }
impl AstNode for BindPat { impl AstNode for IdentPat {
fn can_cast(kind: SyntaxKind) -> bool { kind == BIND_PAT } fn can_cast(kind: SyntaxKind) -> bool { kind == IDENT_PAT }
fn cast(syntax: SyntaxNode) -> Option<Self> { fn cast(syntax: SyntaxNode) -> Option<Self> {
if Self::can_cast(syntax.kind()) { if Self::can_cast(syntax.kind()) {
Some(Self { syntax }) Some(Self { syntax })
@ -3136,8 +3136,8 @@ impl From<Item> for Stmt {
impl From<LetStmt> for Stmt { impl From<LetStmt> for Stmt {
fn from(node: LetStmt) -> Stmt { Stmt::LetStmt(node) } fn from(node: LetStmt) -> Stmt { Stmt::LetStmt(node) }
} }
impl From<BindPat> for Pat { impl From<IdentPat> for Pat {
fn from(node: BindPat) -> Pat { Pat::BindPat(node) } fn from(node: IdentPat) -> Pat { Pat::IdentPat(node) }
} }
impl From<BoxPat> for Pat { impl From<BoxPat> for Pat {
fn from(node: BoxPat) -> Pat { Pat::BoxPat(node) } fn from(node: BoxPat) -> Pat { Pat::BoxPat(node) }
@ -3184,7 +3184,7 @@ impl From<TupleStructPat> for Pat {
impl AstNode for Pat { impl AstNode for Pat {
fn can_cast(kind: SyntaxKind) -> bool { fn can_cast(kind: SyntaxKind) -> bool {
match kind { match kind {
BIND_PAT | BOX_PAT | DOT_DOT_PAT | LITERAL_PAT | MACRO_PAT | OR_PAT | PAREN_PAT IDENT_PAT | BOX_PAT | DOT_DOT_PAT | LITERAL_PAT | MACRO_PAT | OR_PAT | PAREN_PAT
| PATH_PAT | WILDCARD_PAT | RANGE_PAT | RECORD_PAT | REF_PAT | SLICE_PAT | PATH_PAT | WILDCARD_PAT | RANGE_PAT | RECORD_PAT | REF_PAT | SLICE_PAT
| TUPLE_PAT | TUPLE_STRUCT_PAT => true, | TUPLE_PAT | TUPLE_STRUCT_PAT => true,
_ => false, _ => false,
@ -3192,7 +3192,7 @@ impl AstNode for Pat {
} }
fn cast(syntax: SyntaxNode) -> Option<Self> { fn cast(syntax: SyntaxNode) -> Option<Self> {
let res = match syntax.kind() { let res = match syntax.kind() {
BIND_PAT => Pat::BindPat(BindPat { syntax }), IDENT_PAT => Pat::IdentPat(IdentPat { syntax }),
BOX_PAT => Pat::BoxPat(BoxPat { syntax }), BOX_PAT => Pat::BoxPat(BoxPat { syntax }),
DOT_DOT_PAT => Pat::DotDotPat(DotDotPat { syntax }), DOT_DOT_PAT => Pat::DotDotPat(DotDotPat { syntax }),
LITERAL_PAT => Pat::LiteralPat(LiteralPat { syntax }), LITERAL_PAT => Pat::LiteralPat(LiteralPat { syntax }),
@ -3213,7 +3213,7 @@ impl AstNode for Pat {
} }
fn syntax(&self) -> &SyntaxNode { fn syntax(&self) -> &SyntaxNode {
match self { match self {
Pat::BindPat(it) => &it.syntax, Pat::IdentPat(it) => &it.syntax,
Pat::BoxPat(it) => &it.syntax, Pat::BoxPat(it) => &it.syntax,
Pat::DotDotPat(it) => &it.syntax, Pat::DotDotPat(it) => &it.syntax,
Pat::LiteralPat(it) => &it.syntax, Pat::LiteralPat(it) => &it.syntax,
@ -3981,7 +3981,7 @@ impl std::fmt::Display for TypeBound {
std::fmt::Display::fmt(self.syntax(), f) std::fmt::Display::fmt(self.syntax(), f)
} }
} }
impl std::fmt::Display for BindPat { impl std::fmt::Display for IdentPat {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
std::fmt::Display::fmt(self.syntax(), f) std::fmt::Display::fmt(self.syntax(), f)
} }

View file

@ -148,10 +148,10 @@ pub fn condition(expr: ast::Expr, pattern: Option<ast::Pat>) -> ast::Condition {
} }
} }
pub fn bind_pat(name: ast::Name) -> ast::BindPat { pub fn bind_pat(name: ast::Name) -> ast::IdentPat {
return from_text(name.text()); return from_text(name.text());
fn from_text(text: &str) -> ast::BindPat { fn from_text(text: &str) -> ast::IdentPat {
ast_from_text(&format!("fn f({}: ())", text)) ast_from_text(&format!("fn f({}: ())", text))
} }
} }

View file

@ -233,7 +233,7 @@ impl ast::RecordPatField {
if let Some(name_ref) = self.name_ref() { if let Some(name_ref) = self.name_ref() {
return Some(NameOrNameRef::NameRef(name_ref)); return Some(NameOrNameRef::NameRef(name_ref));
} }
if let Some(ast::Pat::BindPat(pat)) = self.pat() { if let Some(ast::Pat::IdentPat(pat)) = self.pat() {
let name = pat.name()?; let name = pat.name()?;
return Some(NameOrNameRef::Name(name)); return Some(NameOrNameRef::Name(name));
} }
@ -294,13 +294,13 @@ impl ast::SlicePat {
let prefix = args let prefix = args
.peeking_take_while(|p| match p { .peeking_take_while(|p| match p {
ast::Pat::DotDotPat(_) => false, ast::Pat::DotDotPat(_) => false,
ast::Pat::BindPat(bp) => match bp.pat() { ast::Pat::IdentPat(bp) => match bp.pat() {
Some(ast::Pat::DotDotPat(_)) => false, Some(ast::Pat::DotDotPat(_)) => false,
_ => true, _ => true,
}, },
ast::Pat::RefPat(rp) => match rp.pat() { ast::Pat::RefPat(rp) => match rp.pat() {
Some(ast::Pat::DotDotPat(_)) => false, Some(ast::Pat::DotDotPat(_)) => false,
Some(ast::Pat::BindPat(bp)) => match bp.pat() { Some(ast::Pat::IdentPat(bp)) => match bp.pat() {
Some(ast::Pat::DotDotPat(_)) => false, Some(ast::Pat::DotDotPat(_)) => false,
_ => true, _ => true,
}, },

View file

@ -34,7 +34,7 @@ SOURCE_FILE@0..389
PARAM_LIST@38..93 PARAM_LIST@38..93
L_PAREN@38..39 L_PAREN@38..39
PARAM@39..54 PARAM@39..54
BIND_PAT@39..46 IDENT_PAT@39..46
NAME@39..46 NAME@39..46
IDENT@39..46 "builder" IDENT@39..46 "builder"
COLON@46..47 COLON@46..47
@ -51,7 +51,7 @@ SOURCE_FILE@0..389
COMMA@54..55 COMMA@54..55
WHITESPACE@55..56 WHITESPACE@55..56
PARAM@56..72 PARAM@56..72
BIND_PAT@56..62 IDENT_PAT@56..62
NAME@56..62 NAME@56..62
IDENT@56..62 "tokens" IDENT@56..62 "tokens"
COLON@62..63 COLON@62..63
@ -69,7 +69,7 @@ SOURCE_FILE@0..389
COMMA@72..73 COMMA@72..73
WHITESPACE@73..74 WHITESPACE@73..74
PARAM@74..92 PARAM@74..92
BIND_PAT@74..80 IDENT_PAT@74..80
NAME@74..80 NAME@74..80
IDENT@74..80 "events" IDENT@74..80 "events"
COLON@80..81 COLON@80..81
@ -96,7 +96,7 @@ SOURCE_FILE@0..389
LET_STMT@100..125 LET_STMT@100..125
LET_KW@100..103 LET_KW@100..103
WHITESPACE@103..104 WHITESPACE@103..104
BIND_PAT@104..120 IDENT_PAT@104..120
MUT_KW@104..107 MUT_KW@104..107
WHITESPACE@107..108 WHITESPACE@107..108
NAME@108..120 NAME@108..120
@ -111,7 +111,7 @@ SOURCE_FILE@0..389
LET_STMT@130..389 LET_STMT@130..389
LET_KW@130..133 LET_KW@130..133
WHITESPACE@133..134 WHITESPACE@133..134
BIND_PAT@134..140 IDENT_PAT@134..140
NAME@134..140 NAME@134..140
IDENT@134..140 "eat_ws" IDENT@134..140 "eat_ws"
WHITESPACE@140..141 WHITESPACE@140..141
@ -121,7 +121,7 @@ SOURCE_FILE@0..389
PARAM_LIST@143..388 PARAM_LIST@143..388
PIPE@143..144 PIPE@143..144
PARAM@144..159 PARAM@144..159
BIND_PAT@144..147 IDENT_PAT@144..147
NAME@144..147 NAME@144..147
IDENT@144..147 "idx" IDENT@144..147 "idx"
COLON@147..148 COLON@147..148
@ -172,7 +172,7 @@ SOURCE_FILE@0..389
NAME_REF@188..192 NAME_REF@188..192
IDENT@188..192 "Some" IDENT@188..192 "Some"
L_PAREN@192..193 L_PAREN@192..193
BIND_PAT@193..198 IDENT_PAT@193..198
NAME@193..198 NAME@193..198
IDENT@193..198 "token" IDENT@193..198 "token"
R_PAREN@198..199 R_PAREN@198..199
@ -185,7 +185,7 @@ SOURCE_FILE@0..389
err: `expected COMMA` err: `expected COMMA`
WHITESPACE@201..202 WHITESPACE@201..202
PARAM@202..208 PARAM@202..208
BIND_PAT@202..208 IDENT_PAT@202..208
NAME@202..208 NAME@202..208
IDENT@202..208 "tokens" IDENT@202..208 "tokens"
err: `expected COMMA` err: `expected COMMA`
@ -205,7 +205,7 @@ SOURCE_FILE@0..389
ERROR@213..214 ERROR@213..214
STAR@213..214 STAR@213..214
err: `expected COMMA` err: `expected COMMA`
BIND_PAT@214..217 IDENT_PAT@214..217
NAME@214..217 NAME@214..217
IDENT@214..217 "idx" IDENT@214..217 "idx"
R_PAREN@217..218 R_PAREN@217..218
@ -229,7 +229,7 @@ SOURCE_FILE@0..389
BANG@236..237 BANG@236..237
err: `expected COMMA` err: `expected COMMA`
PARAM@237..242 PARAM@237..242
BIND_PAT@237..242 IDENT_PAT@237..242
NAME@237..242 NAME@237..242
IDENT@237..242 "token" IDENT@237..242 "token"
err: `expected COMMA` err: `expected COMMA`
@ -239,7 +239,7 @@ SOURCE_FILE@0..389
DOT@242..243 DOT@242..243
err: `expected COMMA` err: `expected COMMA`
PARAM@243..247 PARAM@243..247
BIND_PAT@243..247 IDENT_PAT@243..247
NAME@243..247 NAME@243..247
IDENT@243..247 "kind" IDENT@243..247 "kind"
err: `expected COMMA` err: `expected COMMA`
@ -265,7 +265,7 @@ SOURCE_FILE@0..389
err: `expected COMMA` err: `expected COMMA`
WHITESPACE@261..278 WHITESPACE@261..278
PARAM@278..283 PARAM@278..283
BIND_PAT@278..283 IDENT_PAT@278..283
NAME@278..283 NAME@278..283
IDENT@278..283 "break" IDENT@278..283 "break"
err: `expected COMMA` err: `expected COMMA`
@ -282,7 +282,7 @@ SOURCE_FILE@0..389
err: `expected COMMA` err: `expected COMMA`
WHITESPACE@298..311 WHITESPACE@298..311
PARAM@311..318 PARAM@311..318
BIND_PAT@311..318 IDENT_PAT@311..318
NAME@311..318 NAME@311..318
IDENT@311..318 "builder" IDENT@311..318 "builder"
err: `expected COMMA` err: `expected COMMA`
@ -298,7 +298,7 @@ SOURCE_FILE@0..389
NAME_REF@319..323 NAME_REF@319..323
IDENT@319..323 "leaf" IDENT@319..323 "leaf"
L_PAREN@323..324 L_PAREN@323..324
BIND_PAT@324..329 IDENT_PAT@324..329
NAME@324..329 NAME@324..329
IDENT@324..329 "token" IDENT@324..329 "token"
err: `expected COMMA` err: `expected COMMA`
@ -306,12 +306,12 @@ SOURCE_FILE@0..389
ERROR@329..330 ERROR@329..330
DOT@329..330 DOT@329..330
err: `expected COMMA` err: `expected COMMA`
BIND_PAT@330..334 IDENT_PAT@330..334
NAME@330..334 NAME@330..334
IDENT@330..334 "kind" IDENT@330..334 "kind"
COMMA@334..335 COMMA@334..335
WHITESPACE@335..336 WHITESPACE@335..336
BIND_PAT@336..341 IDENT_PAT@336..341
NAME@336..341 NAME@336..341
IDENT@336..341 "token" IDENT@336..341 "token"
err: `expected COMMA` err: `expected COMMA`
@ -319,7 +319,7 @@ SOURCE_FILE@0..389
ERROR@341..342 ERROR@341..342
DOT@341..342 DOT@341..342
err: `expected COMMA` err: `expected COMMA`
BIND_PAT@342..345 IDENT_PAT@342..345
NAME@342..345 NAME@342..345
IDENT@342..345 "len" IDENT@342..345 "len"
R_PAREN@345..346 R_PAREN@345..346
@ -336,7 +336,7 @@ SOURCE_FILE@0..389
STAR@360..361 STAR@360..361
err: `expected COMMA` err: `expected COMMA`
PARAM@361..364 PARAM@361..364
BIND_PAT@361..364 IDENT_PAT@361..364
NAME@361..364 NAME@361..364
IDENT@361..364 "idx" IDENT@361..364 "idx"
err: `expected COMMA` err: `expected COMMA`

View file

@ -7,7 +7,7 @@ SOURCE_FILE@0..47
PARAM_LIST@6..16 PARAM_LIST@6..16
L_PAREN@6..7 "(" L_PAREN@6..7 "("
PARAM@7..15 PARAM@7..15
BIND_PAT@7..10 IDENT_PAT@7..10
NAME@7..10 NAME@7..10
IDENT@7..10 "foo" IDENT@7..10 "foo"
COLON@10..11 ":" COLON@10..11 ":"
@ -25,7 +25,7 @@ SOURCE_FILE@0..47
LET_STMT@23..36 LET_STMT@23..36
LET_KW@23..26 "let" LET_KW@23..26 "let"
WHITESPACE@26..27 " " WHITESPACE@26..27 " "
BIND_PAT@27..30 IDENT_PAT@27..30
NAME@27..30 NAME@27..30
IDENT@27..30 "bar" IDENT@27..30 "bar"
WHITESPACE@30..31 " " WHITESPACE@30..31 " "

View file

@ -38,7 +38,7 @@ SOURCE_FILE@0..183
LET_STMT@57..85 LET_STMT@57..85
LET_KW@57..60 "let" LET_KW@57..60 "let"
WHITESPACE@60..61 " " WHITESPACE@60..61 " "
BIND_PAT@61..64 IDENT_PAT@61..64
NAME@61..64 NAME@61..64
IDENT@61..64 "res" IDENT@61..64 "res"
WHITESPACE@64..65 " " WHITESPACE@64..65 " "

View file

@ -14,7 +14,7 @@ SOURCE_FILE@0..139
LET_STMT@15..24 LET_STMT@15..24
LET_KW@15..18 "let" LET_KW@15..18 "let"
WHITESPACE@18..19 " " WHITESPACE@18..19 " "
BIND_PAT@19..22 IDENT_PAT@19..22
NAME@19..22 NAME@19..22
IDENT@19..22 "foo" IDENT@19..22 "foo"
WHITESPACE@22..23 " " WHITESPACE@22..23 " "
@ -23,7 +23,7 @@ SOURCE_FILE@0..139
LET_STMT@29..41 LET_STMT@29..41
LET_KW@29..32 "let" LET_KW@29..32 "let"
WHITESPACE@32..33 " " WHITESPACE@32..33 " "
BIND_PAT@33..36 IDENT_PAT@33..36
NAME@33..36 NAME@33..36
IDENT@33..36 "bar" IDENT@33..36 "bar"
WHITESPACE@36..37 " " WHITESPACE@36..37 " "
@ -39,7 +39,7 @@ SOURCE_FILE@0..139
LET_STMT@54..67 LET_STMT@54..67
LET_KW@54..57 "let" LET_KW@54..57 "let"
WHITESPACE@57..58 " " WHITESPACE@57..58 " "
BIND_PAT@58..61 IDENT_PAT@58..61
NAME@58..61 NAME@58..61
IDENT@58..61 "baz" IDENT@58..61 "baz"
WHITESPACE@61..62 " " WHITESPACE@61..62 " "

View file

@ -7,7 +7,7 @@ SOURCE_FILE@0..22
PARAM_LIST@6..17 PARAM_LIST@6..17
L_PAREN@6..7 "(" L_PAREN@6..7 "("
PARAM@7..13 PARAM@7..13
BIND_PAT@7..8 IDENT_PAT@7..8
NAME@7..8 NAME@7..8
IDENT@7..8 "x" IDENT@7..8 "x"
COLON@8..9 ":" COLON@8..9 ":"
@ -20,7 +20,7 @@ SOURCE_FILE@0..22
COMMA@13..14 "," COMMA@13..14 ","
WHITESPACE@14..15 " " WHITESPACE@14..15 " "
PARAM@15..16 PARAM@15..16
BIND_PAT@15..16 IDENT_PAT@15..16
NAME@15..16 NAME@15..16
IDENT@15..16 "y" IDENT@15..16 "y"
R_PAREN@16..17 ")" R_PAREN@16..17 ")"

View file

@ -69,7 +69,7 @@ SOURCE_FILE@0..575
LET_STMT@176..186 LET_STMT@176..186
LET_KW@176..179 "let" LET_KW@176..179 "let"
WHITESPACE@179..180 " " WHITESPACE@179..180 " "
BIND_PAT@180..181 IDENT_PAT@180..181
NAME@180..181 NAME@180..181
IDENT@180..181 "a" IDENT@180..181 "a"
WHITESPACE@181..182 " " WHITESPACE@181..182 " "
@ -175,7 +175,7 @@ SOURCE_FILE@0..575
LET_STMT@491..510 LET_STMT@491..510
LET_KW@491..494 "let" LET_KW@491..494 "let"
WHITESPACE@494..495 " " WHITESPACE@494..495 " "
BIND_PAT@495..505 IDENT_PAT@495..505
NAME@495..505 NAME@495..505
IDENT@495..505 "bad_syntax" IDENT@495..505 "bad_syntax"
WHITESPACE@505..506 " " WHITESPACE@505..506 " "

View file

@ -7,7 +7,7 @@ SOURCE_FILE@0..24
PARAM_LIST@6..12 PARAM_LIST@6..12
L_PAREN@6..7 "(" L_PAREN@6..7 "("
PARAM@7..11 PARAM@7..11
BIND_PAT@7..8 IDENT_PAT@7..8
NAME@7..8 NAME@7..8
IDENT@7..8 "a" IDENT@7..8 "a"
COLON@8..9 ":" COLON@8..9 ":"

View file

@ -14,7 +14,7 @@ SOURCE_FILE@0..350
LET_STMT@17..129 LET_STMT@17..129
LET_KW@17..20 "let" LET_KW@17..20 "let"
WHITESPACE@20..21 " " WHITESPACE@20..21 " "
BIND_PAT@21..26 IDENT_PAT@21..26
NAME@21..26 NAME@21..26
IDENT@21..26 "inner" IDENT@21..26 "inner"
WHITESPACE@26..27 " " WHITESPACE@26..27 " "

View file

@ -14,7 +14,7 @@ SOURCE_FILE@0..91
LET_STMT@16..27 LET_STMT@16..27
LET_KW@16..19 "let" LET_KW@16..19 "let"
WHITESPACE@19..20 " " WHITESPACE@19..20 " "
BIND_PAT@20..27 IDENT_PAT@20..27
REF_KW@20..23 "ref" REF_KW@20..23 "ref"
WHITESPACE@23..24 " " WHITESPACE@23..24 " "
ERROR@24..27 ERROR@24..27
@ -38,7 +38,7 @@ SOURCE_FILE@0..91
LET_STMT@40..51 LET_STMT@40..51
LET_KW@40..43 "let" LET_KW@40..43 "let"
WHITESPACE@43..44 " " WHITESPACE@43..44 " "
BIND_PAT@44..51 IDENT_PAT@44..51
MUT_KW@44..47 "mut" MUT_KW@44..47 "mut"
WHITESPACE@47..48 " " WHITESPACE@47..48 " "
ERROR@48..51 ERROR@48..51
@ -62,7 +62,7 @@ SOURCE_FILE@0..91
LET_STMT@64..79 LET_STMT@64..79
LET_KW@64..67 "let" LET_KW@64..67 "let"
WHITESPACE@67..68 " " WHITESPACE@67..68 " "
BIND_PAT@68..79 IDENT_PAT@68..79
REF_KW@68..71 "ref" REF_KW@68..71 "ref"
WHITESPACE@71..72 " " WHITESPACE@71..72 " "
MUT_KW@72..75 "mut" MUT_KW@72..75 "mut"

View file

@ -53,7 +53,7 @@ SOURCE_FILE@0..83
PARAM_LIST@52..56 PARAM_LIST@52..56
PIPE@52..53 "|" PIPE@52..53 "|"
PARAM@53..55 PARAM@53..55
BIND_PAT@53..55 IDENT_PAT@53..55
NAME@53..55 NAME@53..55
IDENT@53..55 "it" IDENT@53..55 "it"
PIPE@55..56 "|" PIPE@55..56 "|"

View file

@ -4,7 +4,7 @@ TUPLE_STRUCT_PAT@0..7
NAME_REF@0..4 NAME_REF@0..4
IDENT@0..4 "Some" IDENT@0..4 "Some"
L_PAREN@4..5 "(" L_PAREN@4..5 "("
BIND_PAT@5..6 IDENT_PAT@5..6
NAME@5..6 NAME@5..6
IDENT@5..6 "x" IDENT@5..6 "x"
R_PAREN@6..7 ")" R_PAREN@6..7 ")"

View file

@ -79,7 +79,7 @@ SOURCE_FILE@0..128
COMMA@91..92 "," COMMA@91..92 ","
WHITESPACE@92..93 " " WHITESPACE@92..93 " "
PARAM@93..99 PARAM@93..99
BIND_PAT@93..94 IDENT_PAT@93..94
NAME@93..94 NAME@93..94
IDENT@93..94 "x" IDENT@93..94 "x"
COLON@94..95 ":" COLON@94..95 ":"

View file

@ -16,12 +16,12 @@ SOURCE_FILE@0..39
WHITESPACE@19..20 " " WHITESPACE@19..20 " "
SLICE_PAT@20..30 SLICE_PAT@20..30
L_BRACK@20..21 "[" L_BRACK@20..21 "["
BIND_PAT@21..22 IDENT_PAT@21..22
NAME@21..22 NAME@21..22
IDENT@21..22 "a" IDENT@21..22 "a"
COMMA@22..23 "," COMMA@22..23 ","
WHITESPACE@23..24 " " WHITESPACE@23..24 " "
BIND_PAT@24..25 IDENT_PAT@24..25
NAME@24..25 NAME@24..25
IDENT@24..25 "b" IDENT@24..25 "b"
COMMA@25..26 "," COMMA@25..26 ","

View file

@ -88,7 +88,7 @@ SOURCE_FILE@0..97
WHITESPACE@83..84 " " WHITESPACE@83..84 " "
COMMA@84..85 "," COMMA@84..85 ","
WHITESPACE@85..86 " " WHITESPACE@85..86 " "
BIND_PAT@86..87 IDENT_PAT@86..87
NAME@86..87 NAME@86..87
IDENT@86..87 "x" IDENT@86..87 "x"
R_PAREN@87..88 ")" R_PAREN@87..88 ")"

View file

@ -16,7 +16,7 @@ SOURCE_FILE@0..52
WHITESPACE@19..20 " " WHITESPACE@19..20 " "
REF_PAT@20..22 REF_PAT@20..22
AMP@20..21 "&" AMP@20..21 "&"
BIND_PAT@21..22 IDENT_PAT@21..22
NAME@21..22 NAME@21..22
IDENT@21..22 "a" IDENT@21..22 "a"
WHITESPACE@22..23 " " WHITESPACE@22..23 " "
@ -34,7 +34,7 @@ SOURCE_FILE@0..52
AMP@37..38 "&" AMP@37..38 "&"
MUT_KW@38..41 "mut" MUT_KW@38..41 "mut"
WHITESPACE@41..42 " " WHITESPACE@41..42 " "
BIND_PAT@42..43 IDENT_PAT@42..43
NAME@42..43 NAME@42..43
IDENT@42..43 "b" IDENT@42..43 "b"
WHITESPACE@43..44 " " WHITESPACE@43..44 " "

View file

@ -37,7 +37,7 @@ SOURCE_FILE@0..93
NAME_REF@44..48 NAME_REF@44..48
IDENT@44..48 "Some" IDENT@44..48 "Some"
L_PAREN@48..49 "(" L_PAREN@48..49 "("
BIND_PAT@49..50 IDENT_PAT@49..50
NAME@49..50 NAME@49..50
IDENT@49..50 "x" IDENT@49..50 "x"
R_PAREN@50..51 ")" R_PAREN@50..51 ")"

View file

@ -74,13 +74,13 @@ SOURCE_FILE@0..167
WHITESPACE@84..93 "\n " WHITESPACE@84..93 "\n "
MATCH_ARM@93..109 MATCH_ARM@93..109
OR_PAT@93..98 OR_PAT@93..98
BIND_PAT@93..94 IDENT_PAT@93..94
NAME@93..94 NAME@93..94
IDENT@93..94 "X" IDENT@93..94 "X"
WHITESPACE@94..95 " " WHITESPACE@94..95 " "
PIPE@95..96 "|" PIPE@95..96 "|"
WHITESPACE@96..97 " " WHITESPACE@96..97 " "
BIND_PAT@97..98 IDENT_PAT@97..98
NAME@97..98 NAME@97..98
IDENT@97..98 "Y" IDENT@97..98 "Y"
WHITESPACE@98..99 " " WHITESPACE@98..99 " "
@ -104,13 +104,13 @@ SOURCE_FILE@0..167
PIPE@119..120 "|" PIPE@119..120 "|"
WHITESPACE@120..121 " " WHITESPACE@120..121 " "
OR_PAT@121..126 OR_PAT@121..126
BIND_PAT@121..122 IDENT_PAT@121..122
NAME@121..122 NAME@121..122
IDENT@121..122 "X" IDENT@121..122 "X"
WHITESPACE@122..123 " " WHITESPACE@122..123 " "
PIPE@123..124 "|" PIPE@123..124 "|"
WHITESPACE@124..125 " " WHITESPACE@124..125 " "
BIND_PAT@125..126 IDENT_PAT@125..126
NAME@125..126 NAME@125..126
IDENT@125..126 "Y" IDENT@125..126 "Y"
WHITESPACE@126..127 " " WHITESPACE@126..127 " "
@ -133,7 +133,7 @@ SOURCE_FILE@0..167
MATCH_ARM@147..156 MATCH_ARM@147..156
PIPE@147..148 "|" PIPE@147..148 "|"
WHITESPACE@148..149 " " WHITESPACE@148..149 " "
BIND_PAT@149..150 IDENT_PAT@149..150
NAME@149..150 NAME@149..150
IDENT@149..150 "X" IDENT@149..150 "X"
WHITESPACE@150..151 " " WHITESPACE@150..151 " "

View file

@ -14,7 +14,7 @@ SOURCE_FILE@0..89
LET_STMT@15..27 LET_STMT@15..27
LET_KW@15..18 "let" LET_KW@15..18 "let"
WHITESPACE@18..19 " " WHITESPACE@18..19 " "
BIND_PAT@19..20 IDENT_PAT@19..20
NAME@19..20 NAME@19..20
IDENT@19..20 "x" IDENT@19..20 "x"
WHITESPACE@20..21 " " WHITESPACE@20..21 " "

View file

@ -38,7 +38,7 @@ SOURCE_FILE@0..88
FOR_EXPR@49..66 FOR_EXPR@49..66
FOR_KW@49..52 "for" FOR_KW@49..52 "for"
WHITESPACE@52..53 " " WHITESPACE@52..53 " "
BIND_PAT@53..54 IDENT_PAT@53..54
NAME@53..54 NAME@53..54
IDENT@53..54 "i" IDENT@53..54 "i"
WHITESPACE@54..55 " " WHITESPACE@54..55 " "

View file

@ -20,7 +20,7 @@ SOURCE_FILE@0..67
PARAM_LIST@14..22 PARAM_LIST@14..22
L_PAREN@14..15 "(" L_PAREN@14..15 "("
PARAM@15..21 PARAM@15..21
BIND_PAT@15..16 IDENT_PAT@15..16
NAME@15..16 NAME@15..16
IDENT@15..16 "x" IDENT@15..16 "x"
COLON@16..17 ":" COLON@16..17 ":"
@ -44,7 +44,7 @@ SOURCE_FILE@0..67
PARAM_LIST@30..40 PARAM_LIST@30..40
L_PAREN@30..31 "(" L_PAREN@30..31 "("
PARAM@31..37 PARAM@31..37
BIND_PAT@31..32 IDENT_PAT@31..32
NAME@31..32 NAME@31..32
IDENT@31..32 "x" IDENT@31..32 "x"
COLON@32..33 ":" COLON@32..33 ":"
@ -70,7 +70,7 @@ SOURCE_FILE@0..67
PARAM_LIST@48..63 PARAM_LIST@48..63
L_PAREN@48..49 "(" L_PAREN@48..49 "("
PARAM@49..55 PARAM@49..55
BIND_PAT@49..50 IDENT_PAT@49..50
NAME@49..50 NAME@49..50
IDENT@49..50 "x" IDENT@49..50 "x"
COLON@50..51 ":" COLON@50..51 ":"
@ -83,7 +83,7 @@ SOURCE_FILE@0..67
COMMA@55..56 "," COMMA@55..56 ","
WHITESPACE@56..57 " " WHITESPACE@56..57 " "
PARAM@57..62 PARAM@57..62
BIND_PAT@57..58 IDENT_PAT@57..58
NAME@57..58 NAME@57..58
IDENT@57..58 "y" IDENT@57..58 "y"
COLON@58..59 ":" COLON@58..59 ":"

View file

@ -15,7 +15,7 @@ SOURCE_FILE@0..33
FOR_EXPR@15..29 FOR_EXPR@15..29
FOR_KW@15..18 "for" FOR_KW@15..18 "for"
WHITESPACE@18..19 " " WHITESPACE@18..19 " "
BIND_PAT@19..20 IDENT_PAT@19..20
NAME@19..20 NAME@19..20
IDENT@19..20 "x" IDENT@19..20 "x"
WHITESPACE@20..21 " " WHITESPACE@20..21 " "

View file

@ -44,13 +44,13 @@ SOURCE_FILE@0..119
L_CURLY@40..41 "{" L_CURLY@40..41 "{"
WHITESPACE@41..42 " " WHITESPACE@41..42 " "
RECORD_PAT_FIELD@42..43 RECORD_PAT_FIELD@42..43
BIND_PAT@42..43 IDENT_PAT@42..43
NAME@42..43 NAME@42..43
IDENT@42..43 "f" IDENT@42..43 "f"
COMMA@43..44 "," COMMA@43..44 ","
WHITESPACE@44..45 " " WHITESPACE@44..45 " "
RECORD_PAT_FIELD@45..54 RECORD_PAT_FIELD@45..54
BIND_PAT@45..54 IDENT_PAT@45..54
REF_KW@45..48 "ref" REF_KW@45..48 "ref"
WHITESPACE@48..49 " " WHITESPACE@48..49 " "
MUT_KW@49..52 "mut" MUT_KW@49..52 "mut"

View file

@ -51,7 +51,7 @@ SOURCE_FILE@0..134
PARAM_LIST@48..51 PARAM_LIST@48..51
PIPE@48..49 "|" PIPE@48..49 "|"
PARAM@49..50 PARAM@49..50
BIND_PAT@49..50 IDENT_PAT@49..50
NAME@49..50 NAME@49..50
IDENT@49..50 "x" IDENT@49..50 "x"
PIPE@50..51 "|" PIPE@50..51 "|"
@ -70,7 +70,7 @@ SOURCE_FILE@0..134
PARAM_LIST@64..73 PARAM_LIST@64..73
PIPE@64..65 "|" PIPE@64..65 "|"
PARAM@65..71 PARAM@65..71
BIND_PAT@65..66 IDENT_PAT@65..66
NAME@65..66 NAME@65..66
IDENT@65..66 "x" IDENT@65..66 "x"
COLON@66..67 ":" COLON@66..67 ":"

View file

@ -46,7 +46,7 @@ SOURCE_FILE@0..74
WHITESPACE@56..57 " " WHITESPACE@56..57 " "
FOR_KW@57..60 "for" FOR_KW@57..60 "for"
WHITESPACE@60..61 " " WHITESPACE@60..61 " "
BIND_PAT@61..62 IDENT_PAT@61..62
NAME@61..62 NAME@61..62
IDENT@61..62 "x" IDENT@61..62 "x"
WHITESPACE@62..63 " " WHITESPACE@62..63 " "

View file

@ -16,12 +16,12 @@ SOURCE_FILE@0..94
WHITESPACE@19..20 " " WHITESPACE@19..20 " "
TUPLE_PAT@20..30 TUPLE_PAT@20..30
L_PAREN@20..21 "(" L_PAREN@20..21 "("
BIND_PAT@21..22 IDENT_PAT@21..22
NAME@21..22 NAME@21..22
IDENT@21..22 "a" IDENT@21..22 "a"
COMMA@22..23 "," COMMA@22..23 ","
WHITESPACE@23..24 " " WHITESPACE@23..24 " "
BIND_PAT@24..25 IDENT_PAT@24..25
NAME@24..25 NAME@24..25
IDENT@24..25 "b" IDENT@24..25 "b"
COMMA@25..26 "," COMMA@25..26 ","
@ -42,7 +42,7 @@ SOURCE_FILE@0..94
WHITESPACE@44..45 " " WHITESPACE@44..45 " "
TUPLE_PAT@45..49 TUPLE_PAT@45..49
L_PAREN@45..46 "(" L_PAREN@45..46 "("
BIND_PAT@46..47 IDENT_PAT@46..47
NAME@46..47 NAME@46..47
IDENT@46..47 "a" IDENT@46..47 "a"
COMMA@47..48 "," COMMA@47..48 ","

View file

@ -14,7 +14,7 @@ SOURCE_FILE@0..146
LET_STMT@16..27 LET_STMT@16..27
LET_KW@16..19 "let" LET_KW@16..19 "let"
WHITESPACE@19..20 " " WHITESPACE@19..20 " "
BIND_PAT@20..21 IDENT_PAT@20..21
NAME@20..21 NAME@20..21
IDENT@20..21 "a" IDENT@20..21 "a"
WHITESPACE@21..22 " " WHITESPACE@21..22 " "
@ -28,7 +28,7 @@ SOURCE_FILE@0..146
LET_STMT@32..47 LET_STMT@32..47
LET_KW@32..35 "let" LET_KW@32..35 "let"
WHITESPACE@35..36 " " WHITESPACE@35..36 " "
BIND_PAT@36..41 IDENT_PAT@36..41
MUT_KW@36..39 "mut" MUT_KW@36..39 "mut"
WHITESPACE@39..40 " " WHITESPACE@39..40 " "
NAME@40..41 NAME@40..41
@ -44,7 +44,7 @@ SOURCE_FILE@0..146
LET_STMT@52..67 LET_STMT@52..67
LET_KW@52..55 "let" LET_KW@52..55 "let"
WHITESPACE@55..56 " " WHITESPACE@55..56 " "
BIND_PAT@56..61 IDENT_PAT@56..61
REF_KW@56..59 "ref" REF_KW@56..59 "ref"
WHITESPACE@59..60 " " WHITESPACE@59..60 " "
NAME@60..61 NAME@60..61
@ -60,7 +60,7 @@ SOURCE_FILE@0..146
LET_STMT@72..91 LET_STMT@72..91
LET_KW@72..75 "let" LET_KW@72..75 "let"
WHITESPACE@75..76 " " WHITESPACE@75..76 " "
BIND_PAT@76..85 IDENT_PAT@76..85
REF_KW@76..79 "ref" REF_KW@76..79 "ref"
WHITESPACE@79..80 " " WHITESPACE@79..80 " "
MUT_KW@80..83 "mut" MUT_KW@80..83 "mut"
@ -78,7 +78,7 @@ SOURCE_FILE@0..146
LET_STMT@96..111 LET_STMT@96..111
LET_KW@96..99 "let" LET_KW@96..99 "let"
WHITESPACE@99..100 " " WHITESPACE@99..100 " "
BIND_PAT@100..105 IDENT_PAT@100..105
NAME@100..101 NAME@100..101
IDENT@100..101 "e" IDENT@100..101 "e"
WHITESPACE@101..102 " " WHITESPACE@101..102 " "
@ -97,7 +97,7 @@ SOURCE_FILE@0..146
LET_STMT@116..143 LET_STMT@116..143
LET_KW@116..119 "let" LET_KW@116..119 "let"
WHITESPACE@119..120 " " WHITESPACE@119..120 " "
BIND_PAT@120..137 IDENT_PAT@120..137
REF_KW@120..123 "ref" REF_KW@120..123 "ref"
WHITESPACE@123..124 " " WHITESPACE@123..124 " "
MUT_KW@124..127 "mut" MUT_KW@124..127 "mut"
@ -107,7 +107,7 @@ SOURCE_FILE@0..146
WHITESPACE@129..130 " " WHITESPACE@129..130 " "
AT@130..131 "@" AT@130..131 "@"
WHITESPACE@131..132 " " WHITESPACE@131..132 " "
BIND_PAT@132..137 IDENT_PAT@132..137
NAME@132..133 NAME@132..133
IDENT@132..133 "g" IDENT@132..133 "g"
WHITESPACE@133..134 " " WHITESPACE@133..134 " "

View file

@ -16,7 +16,7 @@ SOURCE_FILE@0..57
PARAM_LIST@22..46 PARAM_LIST@22..46
L_PAREN@22..23 "(" L_PAREN@22..23 "("
PARAM@23..40 PARAM@23..40
BIND_PAT@23..29 IDENT_PAT@23..29
NAME@23..29 NAME@23..29
IDENT@23..29 "format" IDENT@23..29 "format"
COLON@29..30 ":" COLON@29..30 ":"

View file

@ -14,7 +14,7 @@ SOURCE_FILE@0..135
LET_STMT@15..21 LET_STMT@15..21
LET_KW@15..18 "let" LET_KW@15..18 "let"
WHITESPACE@18..19 " " WHITESPACE@18..19 " "
BIND_PAT@19..20 IDENT_PAT@19..20
NAME@19..20 NAME@19..20
IDENT@19..20 "a" IDENT@19..20 "a"
SEMICOLON@20..21 ";" SEMICOLON@20..21 ";"
@ -22,7 +22,7 @@ SOURCE_FILE@0..135
LET_STMT@26..37 LET_STMT@26..37
LET_KW@26..29 "let" LET_KW@26..29 "let"
WHITESPACE@29..30 " " WHITESPACE@29..30 " "
BIND_PAT@30..31 IDENT_PAT@30..31
NAME@30..31 NAME@30..31
IDENT@30..31 "b" IDENT@30..31 "b"
COLON@31..32 ":" COLON@31..32 ":"
@ -37,7 +37,7 @@ SOURCE_FILE@0..135
LET_STMT@42..53 LET_STMT@42..53
LET_KW@42..45 "let" LET_KW@42..45 "let"
WHITESPACE@45..46 " " WHITESPACE@45..46 " "
BIND_PAT@46..47 IDENT_PAT@46..47
NAME@46..47 NAME@46..47
IDENT@46..47 "c" IDENT@46..47 "c"
WHITESPACE@47..48 " " WHITESPACE@47..48 " "
@ -50,7 +50,7 @@ SOURCE_FILE@0..135
LET_STMT@58..74 LET_STMT@58..74
LET_KW@58..61 "let" LET_KW@58..61 "let"
WHITESPACE@61..62 " " WHITESPACE@61..62 " "
BIND_PAT@62..63 IDENT_PAT@62..63
NAME@62..63 NAME@62..63
IDENT@62..63 "d" IDENT@62..63 "d"
COLON@63..64 ":" COLON@63..64 ":"
@ -70,7 +70,7 @@ SOURCE_FILE@0..135
LET_STMT@79..88 LET_STMT@79..88
LET_KW@79..82 "let" LET_KW@79..82 "let"
WHITESPACE@82..83 " " WHITESPACE@82..83 " "
BIND_PAT@83..84 IDENT_PAT@83..84
NAME@83..84 NAME@83..84
IDENT@83..84 "e" IDENT@83..84 "e"
COLON@84..85 ":" COLON@84..85 ":"
@ -99,7 +99,7 @@ SOURCE_FILE@0..135
LET_STMT@112..132 LET_STMT@112..132
LET_KW@112..115 "let" LET_KW@112..115 "let"
WHITESPACE@115..116 " " WHITESPACE@115..116 " "
BIND_PAT@116..117 IDENT_PAT@116..117
NAME@116..117 NAME@116..117
IDENT@116..117 "f" IDENT@116..117 "f"
WHITESPACE@117..118 " " WHITESPACE@117..118 " "

View file

@ -14,7 +14,7 @@ SOURCE_FILE@0..106
LET_STMT@15..32 LET_STMT@15..32
LET_KW@15..18 "let" LET_KW@15..18 "let"
WHITESPACE@18..19 " " WHITESPACE@18..19 " "
BIND_PAT@19..20 IDENT_PAT@19..20
NAME@19..20 NAME@19..20
IDENT@19..20 "x" IDENT@19..20 "x"
WHITESPACE@20..21 " " WHITESPACE@20..21 " "
@ -30,7 +30,7 @@ SOURCE_FILE@0..106
LET_STMT@37..66 LET_STMT@37..66
LET_KW@37..40 "let" LET_KW@37..40 "let"
WHITESPACE@40..41 " " WHITESPACE@40..41 " "
BIND_PAT@41..42 IDENT_PAT@41..42
NAME@41..42 NAME@41..42
IDENT@41..42 "y" IDENT@41..42 "y"
WHITESPACE@42..43 " " WHITESPACE@42..43 " "
@ -56,7 +56,7 @@ SOURCE_FILE@0..106
LET_STMT@71..103 LET_STMT@71..103
LET_KW@71..74 "let" LET_KW@71..74 "let"
WHITESPACE@74..75 " " WHITESPACE@74..75 " "
BIND_PAT@75..76 IDENT_PAT@75..76
NAME@75..76 NAME@75..76
IDENT@75..76 "z" IDENT@75..76 "z"
WHITESPACE@76..77 " " WHITESPACE@76..77 " "

View file

@ -37,7 +37,7 @@ SOURCE_FILE@0..59
PARAM_LIST@40..55 PARAM_LIST@40..55
L_PAREN@40..41 "(" L_PAREN@40..41 "("
PARAM@41..54 PARAM@41..54
BIND_PAT@41..51 IDENT_PAT@41..51
NAME@41..51 NAME@41..51
IDENT@41..51 "printables" IDENT@41..51 "printables"
COLON@51..52 ":" COLON@51..52 ":"

View file

@ -14,7 +14,7 @@ SOURCE_FILE@0..52
LET_STMT@14..34 LET_STMT@14..34
LET_KW@14..17 "let" LET_KW@14..17 "let"
WHITESPACE@17..18 " " WHITESPACE@17..18 " "
BIND_PAT@18..23 IDENT_PAT@18..23
MUT_KW@18..21 "mut" MUT_KW@18..21 "mut"
WHITESPACE@21..22 " " WHITESPACE@21..22 " "
NAME@22..23 NAME@22..23

View file

@ -16,7 +16,7 @@ SOURCE_FILE@0..28
R_BRACK@12..13 "]" R_BRACK@12..13 "]"
WHITESPACE@13..14 " " WHITESPACE@13..14 " "
PARAM@14..23 PARAM@14..23
BIND_PAT@14..17 IDENT_PAT@14..17
NAME@14..17 NAME@14..17
IDENT@14..17 "pat" IDENT@14..17 "pat"
COLON@17..18 ":" COLON@17..18 ":"

View file

@ -14,7 +14,7 @@ SOURCE_FILE@0..51
FOR_EXPR@14..48 FOR_EXPR@14..48
FOR_KW@14..17 "for" FOR_KW@14..17 "for"
WHITESPACE@17..18 " " WHITESPACE@17..18 " "
BIND_PAT@18..19 IDENT_PAT@18..19
NAME@18..19 NAME@18..19
IDENT@18..19 "x" IDENT@18..19 "x"
WHITESPACE@19..20 " " WHITESPACE@19..20 " "

View file

@ -17,7 +17,7 @@ SOURCE_FILE@0..118
BOX_PAT@20..25 BOX_PAT@20..25
BOX_KW@20..23 "box" BOX_KW@20..23 "box"
WHITESPACE@23..24 " " WHITESPACE@23..24 " "
BIND_PAT@24..25 IDENT_PAT@24..25
NAME@24..25 NAME@24..25
IDENT@24..25 "i" IDENT@24..25 "i"
WHITESPACE@25..26 " " WHITESPACE@25..26 " "
@ -47,7 +47,7 @@ SOURCE_FILE@0..118
BOX_PAT@52..57 BOX_PAT@52..57
BOX_KW@52..55 "box" BOX_KW@52..55 "box"
WHITESPACE@55..56 " " WHITESPACE@55..56 " "
BIND_PAT@56..57 IDENT_PAT@56..57
NAME@56..57 NAME@56..57
IDENT@56..57 "i" IDENT@56..57 "i"
COMMA@57..58 "," COMMA@57..58 ","
@ -71,7 +71,7 @@ SOURCE_FILE@0..118
WHITESPACE@75..76 " " WHITESPACE@75..76 " "
REF_PAT@76..78 REF_PAT@76..78
AMP@76..77 "&" AMP@76..77 "&"
BIND_PAT@77..78 IDENT_PAT@77..78
NAME@77..78 NAME@77..78
IDENT@77..78 "x" IDENT@77..78 "x"
R_PAREN@78..79 ")" R_PAREN@78..79 ")"
@ -91,7 +91,7 @@ SOURCE_FILE@0..118
BOX_PAT@96..109 BOX_PAT@96..109
BOX_KW@96..99 "box" BOX_KW@96..99 "box"
WHITESPACE@99..100 " " WHITESPACE@99..100 " "
BIND_PAT@100..109 IDENT_PAT@100..109
REF_KW@100..103 "ref" REF_KW@100..103 "ref"
WHITESPACE@103..104 " " WHITESPACE@103..104 " "
MUT_KW@104..107 "mut" MUT_KW@104..107 "mut"

View file

@ -35,7 +35,7 @@ SOURCE_FILE@0..555
WHITESPACE@64..65 " " WHITESPACE@64..65 " "
TUPLE_PAT@65..72 TUPLE_PAT@65..72
L_PAREN@65..66 "(" L_PAREN@65..66 "("
BIND_PAT@66..67 IDENT_PAT@66..67
NAME@66..67 NAME@66..67
IDENT@66..67 "a" IDENT@66..67 "a"
COMMA@67..68 "," COMMA@67..68 ","
@ -56,7 +56,7 @@ SOURCE_FILE@0..555
WHITESPACE@86..87 " " WHITESPACE@86..87 " "
TUPLE_PAT@87..95 TUPLE_PAT@87..95
L_PAREN@87..88 "(" L_PAREN@87..88 "("
BIND_PAT@88..89 IDENT_PAT@88..89
NAME@88..89 NAME@88..89
IDENT@88..89 "a" IDENT@88..89 "a"
COMMA@89..90 "," COMMA@89..90 ","
@ -82,7 +82,7 @@ SOURCE_FILE@0..555
NAME_REF@110..115 NAME_REF@110..115
IDENT@110..115 "Tuple" IDENT@110..115 "Tuple"
L_PAREN@115..116 "(" L_PAREN@115..116 "("
BIND_PAT@116..117 IDENT_PAT@116..117
NAME@116..117 NAME@116..117
IDENT@116..117 "a" IDENT@116..117 "a"
COMMA@117..118 "," COMMA@117..118 ","
@ -107,7 +107,7 @@ SOURCE_FILE@0..555
NAME_REF@137..142 NAME_REF@137..142
IDENT@137..142 "Tuple" IDENT@137..142 "Tuple"
L_PAREN@142..143 "(" L_PAREN@142..143 "("
BIND_PAT@143..144 IDENT_PAT@143..144
NAME@143..144 NAME@143..144
IDENT@143..144 "a" IDENT@143..144 "a"
COMMA@144..145 "," COMMA@144..145 ","
@ -177,7 +177,7 @@ SOURCE_FILE@0..555
DOT2@217..219 ".." DOT2@217..219 ".."
COMMA@219..220 "," COMMA@219..220 ","
WHITESPACE@220..221 " " WHITESPACE@220..221 " "
BIND_PAT@221..222 IDENT_PAT@221..222
NAME@221..222 NAME@221..222
IDENT@221..222 "a" IDENT@221..222 "a"
COMMA@222..223 "," COMMA@222..223 ","
@ -206,7 +206,7 @@ SOURCE_FILE@0..555
DOT2@248..250 ".." DOT2@248..250 ".."
COMMA@250..251 "," COMMA@250..251 ","
WHITESPACE@251..252 " " WHITESPACE@251..252 " "
BIND_PAT@252..253 IDENT_PAT@252..253
NAME@252..253 NAME@252..253
IDENT@252..253 "a" IDENT@252..253 "a"
COMMA@253..254 "," COMMA@253..254 ","
@ -249,7 +249,7 @@ SOURCE_FILE@0..555
WHITESPACE@319..320 " " WHITESPACE@319..320 " "
SLICE_PAT@320..330 SLICE_PAT@320..330
L_BRACK@320..321 "[" L_BRACK@320..321 "["
BIND_PAT@321..325 IDENT_PAT@321..325
NAME@321..325 NAME@321..325
IDENT@321..325 "head" IDENT@321..325 "head"
COMMA@325..326 "," COMMA@325..326 ","
@ -270,12 +270,12 @@ SOURCE_FILE@0..555
WHITESPACE@344..345 " " WHITESPACE@344..345 " "
SLICE_PAT@345..362 SLICE_PAT@345..362
L_BRACK@345..346 "[" L_BRACK@345..346 "["
BIND_PAT@346..350 IDENT_PAT@346..350
NAME@346..350 NAME@346..350
IDENT@346..350 "head" IDENT@346..350 "head"
COMMA@350..351 "," COMMA@350..351 ","
WHITESPACE@351..352 " " WHITESPACE@351..352 " "
BIND_PAT@352..361 IDENT_PAT@352..361
NAME@352..356 NAME@352..356
IDENT@352..356 "tail" IDENT@352..356 "tail"
WHITESPACE@356..357 " " WHITESPACE@356..357 " "
@ -297,7 +297,7 @@ SOURCE_FILE@0..555
WHITESPACE@376..377 " " WHITESPACE@376..377 " "
SLICE_PAT@377..393 SLICE_PAT@377..393
L_BRACK@377..378 "[" L_BRACK@377..378 "["
BIND_PAT@378..382 IDENT_PAT@378..382
NAME@378..382 NAME@378..382
IDENT@378..382 "head" IDENT@378..382 "head"
COMMA@382..383 "," COMMA@382..383 ","
@ -306,7 +306,7 @@ SOURCE_FILE@0..555
DOT2@384..386 ".." DOT2@384..386 ".."
COMMA@386..387 "," COMMA@386..387 ","
WHITESPACE@387..388 " " WHITESPACE@387..388 " "
BIND_PAT@388..392 IDENT_PAT@388..392
NAME@388..392 NAME@388..392
IDENT@388..392 "cons" IDENT@388..392 "cons"
R_BRACK@392..393 "]" R_BRACK@392..393 "]"
@ -323,12 +323,12 @@ SOURCE_FILE@0..555
WHITESPACE@407..408 " " WHITESPACE@407..408 " "
SLICE_PAT@408..430 SLICE_PAT@408..430
L_BRACK@408..409 "[" L_BRACK@408..409 "["
BIND_PAT@409..413 IDENT_PAT@409..413
NAME@409..413 NAME@409..413
IDENT@409..413 "head" IDENT@409..413 "head"
COMMA@413..414 "," COMMA@413..414 ","
WHITESPACE@414..415 " " WHITESPACE@414..415 " "
BIND_PAT@415..423 IDENT_PAT@415..423
NAME@415..418 NAME@415..418
IDENT@415..418 "mid" IDENT@415..418 "mid"
WHITESPACE@418..419 " " WHITESPACE@418..419 " "
@ -338,7 +338,7 @@ SOURCE_FILE@0..555
DOT2@421..423 ".." DOT2@421..423 ".."
COMMA@423..424 "," COMMA@423..424 ","
WHITESPACE@424..425 " " WHITESPACE@424..425 " "
BIND_PAT@425..429 IDENT_PAT@425..429
NAME@425..429 NAME@425..429
IDENT@425..429 "cons" IDENT@425..429 "cons"
R_BRACK@429..430 "]" R_BRACK@429..430 "]"
@ -355,7 +355,7 @@ SOURCE_FILE@0..555
WHITESPACE@444..445 " " WHITESPACE@444..445 " "
SLICE_PAT@445..465 SLICE_PAT@445..465
L_BRACK@445..446 "[" L_BRACK@445..446 "["
BIND_PAT@446..450 IDENT_PAT@446..450
NAME@446..450 NAME@446..450
IDENT@446..450 "head" IDENT@446..450 "head"
COMMA@450..451 "," COMMA@450..451 ","
@ -368,7 +368,7 @@ SOURCE_FILE@0..555
DOT2@456..458 ".." DOT2@456..458 ".."
COMMA@458..459 "," COMMA@458..459 ","
WHITESPACE@459..460 " " WHITESPACE@459..460 " "
BIND_PAT@460..464 IDENT_PAT@460..464
NAME@460..464 NAME@460..464
IDENT@460..464 "cons" IDENT@460..464 "cons"
R_BRACK@464..465 "]" R_BRACK@464..465 "]"
@ -385,7 +385,7 @@ SOURCE_FILE@0..555
WHITESPACE@479..480 " " WHITESPACE@479..480 " "
SLICE_PAT@480..506 SLICE_PAT@480..506
L_BRACK@480..481 "[" L_BRACK@480..481 "["
BIND_PAT@481..485 IDENT_PAT@481..485
NAME@481..485 NAME@481..485
IDENT@481..485 "head" IDENT@481..485 "head"
COMMA@485..486 "," COMMA@485..486 ","
@ -394,12 +394,12 @@ SOURCE_FILE@0..555
DOT2@487..489 ".." DOT2@487..489 ".."
COMMA@489..490 "," COMMA@489..490 ","
WHITESPACE@490..491 " " WHITESPACE@490..491 " "
BIND_PAT@491..494 IDENT_PAT@491..494
NAME@491..494 NAME@491..494
IDENT@491..494 "mid" IDENT@491..494 "mid"
COMMA@494..495 "," COMMA@494..495 ","
WHITESPACE@495..496 " " WHITESPACE@495..496 " "
BIND_PAT@496..505 IDENT_PAT@496..505
NAME@496..500 NAME@496..500
IDENT@496..500 "tail" IDENT@496..500 "tail"
WHITESPACE@500..501 " " WHITESPACE@500..501 " "
@ -421,7 +421,7 @@ SOURCE_FILE@0..555
WHITESPACE@520..521 " " WHITESPACE@520..521 " "
SLICE_PAT@521..546 SLICE_PAT@521..546
L_BRACK@521..522 "[" L_BRACK@521..522 "["
BIND_PAT@522..526 IDENT_PAT@522..526
NAME@522..526 NAME@522..526
IDENT@522..526 "head" IDENT@522..526 "head"
COMMA@526..527 "," COMMA@526..527 ","
@ -430,7 +430,7 @@ SOURCE_FILE@0..555
DOT2@528..530 ".." DOT2@528..530 ".."
COMMA@530..531 "," COMMA@530..531 ","
WHITESPACE@531..532 " " WHITESPACE@531..532 " "
BIND_PAT@532..535 IDENT_PAT@532..535
NAME@532..535 NAME@532..535
IDENT@532..535 "mid" IDENT@532..535 "mid"
COMMA@535..536 "," COMMA@535..536 ","
@ -439,7 +439,7 @@ SOURCE_FILE@0..555
DOT2@537..539 ".." DOT2@537..539 ".."
COMMA@539..540 "," COMMA@539..540 ","
WHITESPACE@540..541 " " WHITESPACE@540..541 " "
BIND_PAT@541..545 IDENT_PAT@541..545
NAME@541..545 NAME@541..545
IDENT@541..545 "cons" IDENT@541..545 "cons"
R_BRACK@545..546 "]" R_BRACK@545..546 "]"

View file

@ -38,7 +38,7 @@ SOURCE_FILE@0..55
PARAM_LIST@38..53 PARAM_LIST@38..53
L_PAREN@38..39 "(" L_PAREN@38..39 "("
PARAM@39..52 PARAM@39..52
BIND_PAT@39..42 IDENT_PAT@39..42
NAME@39..42 NAME@39..42
IDENT@39..42 "baz" IDENT@39..42 "baz"
COLON@42..43 ":" COLON@42..43 ":"

View file

@ -14,7 +14,7 @@ SOURCE_FILE@0..63
LET_STMT@15..60 LET_STMT@15..60
LET_KW@15..18 "let" LET_KW@15..18 "let"
WHITESPACE@18..19 " " WHITESPACE@18..19 " "
BIND_PAT@19..22 IDENT_PAT@19..22
NAME@19..22 NAME@19..22
IDENT@19..22 "foo" IDENT@19..22 "foo"
WHITESPACE@22..23 " " WHITESPACE@22..23 " "
@ -24,13 +24,13 @@ SOURCE_FILE@0..63
PARAM_LIST@25..56 PARAM_LIST@25..56
PIPE@25..26 "|" PIPE@25..26 "|"
PARAM@26..29 PARAM@26..29
BIND_PAT@26..29 IDENT_PAT@26..29
NAME@26..29 NAME@26..29
IDENT@26..29 "bar" IDENT@26..29 "bar"
COMMA@29..30 "," COMMA@29..30 ","
WHITESPACE@30..31 " " WHITESPACE@30..31 " "
PARAM@31..39 PARAM@31..39
BIND_PAT@31..34 IDENT_PAT@31..34
NAME@31..34 NAME@31..34
IDENT@31..34 "baz" IDENT@31..34 "baz"
COLON@34..35 ":" COLON@34..35 ":"
@ -43,7 +43,7 @@ SOURCE_FILE@0..63
COMMA@39..40 "," COMMA@39..40 ","
WHITESPACE@40..41 " " WHITESPACE@40..41 " "
PARAM@41..55 PARAM@41..55
BIND_PAT@41..44 IDENT_PAT@41..44
NAME@41..44 NAME@41..44
IDENT@41..44 "qux" IDENT@41..44 "qux"
COLON@44..45 ":" COLON@44..45 ":"

View file

@ -9,12 +9,12 @@ SOURCE_FILE@0..30
PARAM@7..25 PARAM@7..25
TUPLE_PAT@7..13 TUPLE_PAT@7..13
L_PAREN@7..8 "(" L_PAREN@7..8 "("
BIND_PAT@8..9 IDENT_PAT@8..9
NAME@8..9 NAME@8..9
IDENT@8..9 "x" IDENT@8..9 "x"
COMMA@9..10 "," COMMA@9..10 ","
WHITESPACE@10..11 " " WHITESPACE@10..11 " "
BIND_PAT@11..12 IDENT_PAT@11..12
NAME@11..12 NAME@11..12
IDENT@11..12 "y" IDENT@11..12 "y"
R_PAREN@12..13 ")" R_PAREN@12..13 ")"

View file

@ -14,7 +14,7 @@ SOURCE_FILE@0..248
LET_STMT@25..55 LET_STMT@25..55
LET_KW@25..28 "let" LET_KW@25..28 "let"
WHITESPACE@28..29 " " WHITESPACE@28..29 " "
BIND_PAT@29..30 IDENT_PAT@29..30
NAME@29..30 NAME@29..30
IDENT@29..30 "x" IDENT@29..30 "x"
WHITESPACE@30..31 " " WHITESPACE@30..31 " "

View file

@ -67,7 +67,7 @@ SOURCE_FILE@0..153
LET_STMT@64..76 LET_STMT@64..76
LET_KW@64..67 "let" LET_KW@64..67 "let"
WHITESPACE@67..68 " " WHITESPACE@67..68 " "
BIND_PAT@68..69 IDENT_PAT@68..69
NAME@68..69 NAME@68..69
IDENT@68..69 "x" IDENT@68..69 "x"
WHITESPACE@69..70 " " WHITESPACE@69..70 " "
@ -135,7 +135,7 @@ SOURCE_FILE@0..153
LET_STMT@138..150 LET_STMT@138..150
LET_KW@138..141 "let" LET_KW@138..141 "let"
WHITESPACE@141..142 " " WHITESPACE@141..142 " "
BIND_PAT@142..143 IDENT_PAT@142..143
NAME@142..143 NAME@142..143
IDENT@142..143 "x" IDENT@142..143 "x"
WHITESPACE@143..144 " " WHITESPACE@143..144 " "

View file

@ -37,7 +37,7 @@ SOURCE_FILE@0..96
PARAM_LIST@79..92 PARAM_LIST@79..92
L_PAREN@79..80 "(" L_PAREN@79..80 "("
PARAM@80..91 PARAM@80..91
BIND_PAT@80..81 IDENT_PAT@80..81
NAME@80..81 NAME@80..81
IDENT@80..81 "x" IDENT@80..81 "x"
COLON@81..82 ":" COLON@81..82 ":"

View file

@ -17,7 +17,7 @@ SOURCE_FILE@0..1598
PARAM_LIST@26..75 PARAM_LIST@26..75
L_PAREN@26..27 "(" L_PAREN@26..27 "("
PARAM@27..42 PARAM@27..42
BIND_PAT@27..33 IDENT_PAT@27..33
NAME@27..33 NAME@27..33
IDENT@27..33 "domain" IDENT@27..33 "domain"
COLON@33..34 ":" COLON@33..34 ":"
@ -31,7 +31,7 @@ SOURCE_FILE@0..1598
COMMA@42..43 "," COMMA@42..43 ","
WHITESPACE@43..44 " " WHITESPACE@43..44 " "
PARAM@44..55 PARAM@44..55
BIND_PAT@44..46 IDENT_PAT@44..46
NAME@44..46 NAME@44..46
IDENT@44..46 "ty" IDENT@44..46 "ty"
COLON@46..47 ":" COLON@46..47 ":"
@ -45,7 +45,7 @@ SOURCE_FILE@0..1598
COMMA@55..56 "," COMMA@55..56 ","
WHITESPACE@56..57 " " WHITESPACE@56..57 " "
PARAM@57..74 PARAM@57..74
BIND_PAT@57..65 IDENT_PAT@57..65
NAME@57..65 NAME@57..65
IDENT@57..65 "protocol" IDENT@57..65 "protocol"
COLON@65..66 ":" COLON@65..66 ":"
@ -80,7 +80,7 @@ SOURCE_FILE@0..1598
PARAM_LIST@103..155 PARAM_LIST@103..155
L_PAREN@103..104 "(" L_PAREN@103..104 "("
PARAM@104..115 PARAM@104..115
BIND_PAT@104..106 IDENT_PAT@104..106
NAME@104..106 NAME@104..106
IDENT@104..106 "fd" IDENT@104..106 "fd"
COLON@106..107 ":" COLON@106..107 ":"
@ -94,7 +94,7 @@ SOURCE_FILE@0..1598
COMMA@115..116 "," COMMA@115..116 ","
WHITESPACE@116..117 " " WHITESPACE@116..117 " "
PARAM@117..138 PARAM@117..138
BIND_PAT@117..121 IDENT_PAT@117..121
NAME@117..121 NAME@117..121
IDENT@117..121 "addr" IDENT@117..121 "addr"
COLON@121..122 ":" COLON@121..122 ":"
@ -111,7 +111,7 @@ SOURCE_FILE@0..1598
COMMA@138..139 "," COMMA@138..139 ","
WHITESPACE@139..140 " " WHITESPACE@139..140 " "
PARAM@140..154 PARAM@140..154
BIND_PAT@140..143 IDENT_PAT@140..143
NAME@140..143 NAME@140..143
IDENT@140..143 "len" IDENT@140..143 "len"
COLON@143..144 ":" COLON@143..144 ":"
@ -145,7 +145,7 @@ SOURCE_FILE@0..1598
PARAM_LIST@186..264 PARAM_LIST@186..264
L_PAREN@186..187 "(" L_PAREN@186..187 "("
PARAM@187..202 PARAM@187..202
BIND_PAT@187..193 IDENT_PAT@187..193
NAME@187..193 NAME@187..193
IDENT@187..193 "socket" IDENT@187..193 "socket"
COLON@193..194 ":" COLON@193..194 ":"
@ -159,7 +159,7 @@ SOURCE_FILE@0..1598
COMMA@202..203 "," COMMA@202..203 ","
WHITESPACE@203..204 " " WHITESPACE@203..204 " "
PARAM@204..228 PARAM@204..228
BIND_PAT@204..211 IDENT_PAT@204..211
NAME@204..211 NAME@204..211
IDENT@204..211 "address" IDENT@204..211 "address"
COLON@211..212 ":" COLON@211..212 ":"
@ -176,7 +176,7 @@ SOURCE_FILE@0..1598
COMMA@228..229 "," COMMA@228..229 ","
WHITESPACE@229..249 "\n " WHITESPACE@229..249 "\n "
PARAM@249..263 PARAM@249..263
BIND_PAT@249..252 IDENT_PAT@249..252
NAME@249..252 NAME@249..252
IDENT@249..252 "len" IDENT@249..252 "len"
COLON@252..253 ":" COLON@252..253 ":"
@ -210,7 +210,7 @@ SOURCE_FILE@0..1598
PARAM_LIST@294..329 PARAM_LIST@294..329
L_PAREN@294..295 "(" L_PAREN@294..295 "("
PARAM@295..310 PARAM@295..310
BIND_PAT@295..301 IDENT_PAT@295..301
NAME@295..301 NAME@295..301
IDENT@295..301 "socket" IDENT@295..301 "socket"
COLON@301..302 ":" COLON@301..302 ":"
@ -224,7 +224,7 @@ SOURCE_FILE@0..1598
COMMA@310..311 "," COMMA@310..311 ","
WHITESPACE@311..312 " " WHITESPACE@311..312 " "
PARAM@312..328 PARAM@312..328
BIND_PAT@312..319 IDENT_PAT@312..319
NAME@312..319 NAME@312..319
IDENT@312..319 "backlog" IDENT@312..319 "backlog"
COLON@319..320 ":" COLON@319..320 ":"
@ -259,7 +259,7 @@ SOURCE_FILE@0..1598
PARAM_LIST@364..457 PARAM_LIST@364..457
L_PAREN@364..365 "(" L_PAREN@364..365 "("
PARAM@365..380 PARAM@365..380
BIND_PAT@365..371 IDENT_PAT@365..371
NAME@365..371 NAME@365..371
IDENT@365..371 "socket" IDENT@365..371 "socket"
COLON@371..372 ":" COLON@371..372 ":"
@ -273,7 +273,7 @@ SOURCE_FILE@0..1598
COMMA@380..381 "," COMMA@380..381 ","
WHITESPACE@381..382 " " WHITESPACE@381..382 " "
PARAM@382..404 PARAM@382..404
BIND_PAT@382..389 IDENT_PAT@382..389
NAME@382..389 NAME@382..389
IDENT@382..389 "address" IDENT@382..389 "address"
COLON@389..390 ":" COLON@389..390 ":"
@ -290,7 +290,7 @@ SOURCE_FILE@0..1598
COMMA@404..405 "," COMMA@404..405 ","
WHITESPACE@405..429 "\n " WHITESPACE@405..429 "\n "
PARAM@429..456 PARAM@429..456
BIND_PAT@429..440 IDENT_PAT@429..440
NAME@429..440 NAME@429..440
IDENT@429..440 "address_len" IDENT@429..440 "address_len"
COLON@440..441 ":" COLON@440..441 ":"
@ -328,7 +328,7 @@ SOURCE_FILE@0..1598
PARAM_LIST@491..679 PARAM_LIST@491..679
L_PAREN@491..492 "(" L_PAREN@491..492 "("
PARAM@492..507 PARAM@492..507
BIND_PAT@492..498 IDENT_PAT@492..498
NAME@492..498 NAME@492..498
IDENT@492..498 "sockfd" IDENT@492..498 "sockfd"
COLON@498..499 ":" COLON@498..499 ":"
@ -342,7 +342,7 @@ SOURCE_FILE@0..1598
COMMA@507..508 "," COMMA@507..508 ","
WHITESPACE@508..531 "\n " WHITESPACE@508..531 "\n "
PARAM@531..545 PARAM@531..545
BIND_PAT@531..536 IDENT_PAT@531..536
NAME@531..536 NAME@531..536
IDENT@531..536 "level" IDENT@531..536 "level"
COLON@536..537 ":" COLON@536..537 ":"
@ -356,7 +356,7 @@ SOURCE_FILE@0..1598
COMMA@545..546 "," COMMA@545..546 ","
WHITESPACE@546..569 "\n " WHITESPACE@546..569 "\n "
PARAM@569..585 PARAM@569..585
BIND_PAT@569..576 IDENT_PAT@569..576
NAME@569..576 NAME@569..576
IDENT@569..576 "optname" IDENT@569..576 "optname"
COLON@576..577 ":" COLON@576..577 ":"
@ -370,7 +370,7 @@ SOURCE_FILE@0..1598
COMMA@585..586 "," COMMA@585..586 ","
WHITESPACE@586..609 "\n " WHITESPACE@586..609 "\n "
PARAM@609..630 PARAM@609..630
BIND_PAT@609..615 IDENT_PAT@609..615
NAME@609..615 NAME@609..615
IDENT@609..615 "optval" IDENT@609..615 "optval"
COLON@615..616 ":" COLON@615..616 ":"
@ -388,7 +388,7 @@ SOURCE_FILE@0..1598
COMMA@630..631 "," COMMA@630..631 ","
WHITESPACE@631..654 "\n " WHITESPACE@631..654 "\n "
PARAM@654..678 PARAM@654..678
BIND_PAT@654..660 IDENT_PAT@654..660
NAME@654..660 NAME@654..660
IDENT@654..660 "optlen" IDENT@654..660 "optlen"
COLON@660..661 ":" COLON@660..661 ":"
@ -427,7 +427,7 @@ SOURCE_FILE@0..1598
PARAM_LIST@713..852 PARAM_LIST@713..852
L_PAREN@713..714 "(" L_PAREN@713..714 "("
PARAM@714..729 PARAM@714..729
BIND_PAT@714..720 IDENT_PAT@714..720
NAME@714..720 NAME@714..720
IDENT@714..720 "socket" IDENT@714..720 "socket"
COLON@720..721 ":" COLON@720..721 ":"
@ -441,7 +441,7 @@ SOURCE_FILE@0..1598
COMMA@729..730 "," COMMA@729..730 ","
WHITESPACE@730..731 " " WHITESPACE@730..731 " "
PARAM@731..745 PARAM@731..745
BIND_PAT@731..736 IDENT_PAT@731..736
NAME@731..736 NAME@731..736
IDENT@731..736 "level" IDENT@731..736 "level"
COLON@736..737 ":" COLON@736..737 ":"
@ -455,7 +455,7 @@ SOURCE_FILE@0..1598
COMMA@745..746 "," COMMA@745..746 ","
WHITESPACE@746..747 " " WHITESPACE@746..747 " "
PARAM@747..760 PARAM@747..760
BIND_PAT@747..751 IDENT_PAT@747..751
NAME@747..751 NAME@747..751
IDENT@747..751 "name" IDENT@747..751 "name"
COLON@751..752 ":" COLON@751..752 ":"
@ -469,7 +469,7 @@ SOURCE_FILE@0..1598
COMMA@760..761 "," COMMA@760..761 ","
WHITESPACE@761..784 "\n " WHITESPACE@761..784 "\n "
PARAM@784..806 PARAM@784..806
BIND_PAT@784..789 IDENT_PAT@784..789
NAME@784..789 NAME@784..789
IDENT@784..789 "value" IDENT@784..789 "value"
COLON@789..790 ":" COLON@789..790 ":"
@ -487,7 +487,7 @@ SOURCE_FILE@0..1598
COMMA@806..807 "," COMMA@806..807 ","
WHITESPACE@807..830 "\n " WHITESPACE@807..830 "\n "
PARAM@830..851 PARAM@830..851
BIND_PAT@830..840 IDENT_PAT@830..840
NAME@830..840 NAME@830..840
IDENT@830..840 "option_len" IDENT@830..840 "option_len"
COLON@840..841 ":" COLON@840..841 ":"
@ -521,7 +521,7 @@ SOURCE_FILE@0..1598
PARAM_LIST@887..980 PARAM_LIST@887..980
L_PAREN@887..888 "(" L_PAREN@887..888 "("
PARAM@888..903 PARAM@888..903
BIND_PAT@888..894 IDENT_PAT@888..894
NAME@888..894 NAME@888..894
IDENT@888..894 "socket" IDENT@888..894 "socket"
COLON@894..895 ":" COLON@894..895 ":"
@ -535,7 +535,7 @@ SOURCE_FILE@0..1598
COMMA@903..904 "," COMMA@903..904 ","
WHITESPACE@904..905 " " WHITESPACE@904..905 " "
PARAM@905..927 PARAM@905..927
BIND_PAT@905..912 IDENT_PAT@905..912
NAME@905..912 NAME@905..912
IDENT@905..912 "address" IDENT@905..912 "address"
COLON@912..913 ":" COLON@912..913 ":"
@ -552,7 +552,7 @@ SOURCE_FILE@0..1598
COMMA@927..928 "," COMMA@927..928 ","
WHITESPACE@928..952 "\n " WHITESPACE@928..952 "\n "
PARAM@952..979 PARAM@952..979
BIND_PAT@952..963 IDENT_PAT@952..963
NAME@952..963 NAME@952..963
IDENT@952..963 "address_len" IDENT@952..963 "address_len"
COLON@963..964 ":" COLON@963..964 ":"
@ -590,7 +590,7 @@ SOURCE_FILE@0..1598
PARAM_LIST@1010..1159 PARAM_LIST@1010..1159
L_PAREN@1010..1011 "(" L_PAREN@1010..1011 "("
PARAM@1011..1026 PARAM@1011..1026
BIND_PAT@1011..1017 IDENT_PAT@1011..1017
NAME@1011..1017 NAME@1011..1017
IDENT@1011..1017 "socket" IDENT@1011..1017 "socket"
COLON@1017..1018 ":" COLON@1017..1018 ":"
@ -604,7 +604,7 @@ SOURCE_FILE@0..1598
COMMA@1026..1027 "," COMMA@1026..1027 ","
WHITESPACE@1027..1028 " " WHITESPACE@1027..1028 " "
PARAM@1028..1048 PARAM@1028..1048
BIND_PAT@1028..1031 IDENT_PAT@1028..1031
NAME@1028..1031 NAME@1028..1031
IDENT@1028..1031 "buf" IDENT@1028..1031 "buf"
COLON@1031..1032 ":" COLON@1031..1032 ":"
@ -622,7 +622,7 @@ SOURCE_FILE@0..1598
COMMA@1048..1049 "," COMMA@1048..1049 ","
WHITESPACE@1049..1050 " " WHITESPACE@1049..1050 " "
PARAM@1050..1063 PARAM@1050..1063
BIND_PAT@1050..1053 IDENT_PAT@1050..1053
NAME@1050..1053 NAME@1050..1053
IDENT@1050..1053 "len" IDENT@1050..1053 "len"
COLON@1053..1054 ":" COLON@1053..1054 ":"
@ -636,7 +636,7 @@ SOURCE_FILE@0..1598
COMMA@1063..1064 "," COMMA@1063..1064 ","
WHITESPACE@1064..1083 "\n " WHITESPACE@1064..1083 "\n "
PARAM@1083..1097 PARAM@1083..1097
BIND_PAT@1083..1088 IDENT_PAT@1083..1088
NAME@1083..1088 NAME@1083..1088
IDENT@1083..1088 "flags" IDENT@1083..1088 "flags"
COLON@1088..1089 ":" COLON@1088..1089 ":"
@ -650,7 +650,7 @@ SOURCE_FILE@0..1598
COMMA@1097..1098 "," COMMA@1097..1098 ","
WHITESPACE@1098..1099 " " WHITESPACE@1098..1099 " "
PARAM@1099..1120 PARAM@1099..1120
BIND_PAT@1099..1103 IDENT_PAT@1099..1103
NAME@1099..1103 NAME@1099..1103
IDENT@1099..1103 "addr" IDENT@1099..1103 "addr"
COLON@1103..1104 ":" COLON@1103..1104 ":"
@ -667,7 +667,7 @@ SOURCE_FILE@0..1598
COMMA@1120..1121 "," COMMA@1120..1121 ","
WHITESPACE@1121..1140 "\n " WHITESPACE@1121..1140 "\n "
PARAM@1140..1158 PARAM@1140..1158
BIND_PAT@1140..1147 IDENT_PAT@1140..1147
NAME@1140..1147 NAME@1140..1147
IDENT@1140..1147 "addrlen" IDENT@1140..1147 "addrlen"
COLON@1147..1148 ":" COLON@1147..1148 ":"
@ -701,7 +701,7 @@ SOURCE_FILE@0..1598
PARAM_LIST@1189..1275 PARAM_LIST@1189..1275
L_PAREN@1189..1190 "(" L_PAREN@1189..1190 "("
PARAM@1190..1205 PARAM@1190..1205
BIND_PAT@1190..1196 IDENT_PAT@1190..1196
NAME@1190..1196 NAME@1190..1196
IDENT@1190..1196 "socket" IDENT@1190..1196 "socket"
COLON@1196..1197 ":" COLON@1196..1197 ":"
@ -715,7 +715,7 @@ SOURCE_FILE@0..1598
COMMA@1205..1206 "," COMMA@1205..1206 ","
WHITESPACE@1206..1207 " " WHITESPACE@1206..1207 " "
PARAM@1207..1227 PARAM@1207..1227
BIND_PAT@1207..1210 IDENT_PAT@1207..1210
NAME@1207..1210 NAME@1207..1210
IDENT@1207..1210 "buf" IDENT@1207..1210 "buf"
COLON@1210..1211 ":" COLON@1210..1211 ":"
@ -733,7 +733,7 @@ SOURCE_FILE@0..1598
COMMA@1227..1228 "," COMMA@1227..1228 ","
WHITESPACE@1228..1229 " " WHITESPACE@1228..1229 " "
PARAM@1229..1242 PARAM@1229..1242
BIND_PAT@1229..1232 IDENT_PAT@1229..1232
NAME@1229..1232 NAME@1229..1232
IDENT@1229..1232 "len" IDENT@1229..1232 "len"
COLON@1232..1233 ":" COLON@1232..1233 ":"
@ -747,7 +747,7 @@ SOURCE_FILE@0..1598
COMMA@1242..1243 "," COMMA@1242..1243 ","
WHITESPACE@1243..1260 "\n " WHITESPACE@1243..1260 "\n "
PARAM@1260..1274 PARAM@1260..1274
BIND_PAT@1260..1265 IDENT_PAT@1260..1265
NAME@1260..1265 NAME@1260..1265
IDENT@1260..1265 "flags" IDENT@1260..1265 "flags"
COLON@1265..1266 ":" COLON@1265..1266 ":"
@ -782,7 +782,7 @@ SOURCE_FILE@0..1598
PARAM_LIST@1309..1467 PARAM_LIST@1309..1467
L_PAREN@1309..1310 "(" L_PAREN@1309..1310 "("
PARAM@1310..1325 PARAM@1310..1325
BIND_PAT@1310..1316 IDENT_PAT@1310..1316
NAME@1310..1316 NAME@1310..1316
IDENT@1310..1316 "socket" IDENT@1310..1316 "socket"
COLON@1316..1317 ":" COLON@1316..1317 ":"
@ -796,7 +796,7 @@ SOURCE_FILE@0..1598
COMMA@1325..1326 "," COMMA@1325..1326 ","
WHITESPACE@1326..1327 " " WHITESPACE@1326..1327 " "
PARAM@1327..1345 PARAM@1327..1345
BIND_PAT@1327..1330 IDENT_PAT@1327..1330
NAME@1327..1330 NAME@1327..1330
IDENT@1327..1330 "buf" IDENT@1327..1330 "buf"
COLON@1330..1331 ":" COLON@1330..1331 ":"
@ -814,7 +814,7 @@ SOURCE_FILE@0..1598
COMMA@1345..1346 "," COMMA@1345..1346 ","
WHITESPACE@1346..1347 " " WHITESPACE@1346..1347 " "
PARAM@1347..1360 PARAM@1347..1360
BIND_PAT@1347..1350 IDENT_PAT@1347..1350
NAME@1347..1350 NAME@1347..1350
IDENT@1347..1350 "len" IDENT@1347..1350 "len"
COLON@1350..1351 ":" COLON@1350..1351 ":"
@ -828,7 +828,7 @@ SOURCE_FILE@0..1598
COMMA@1360..1361 "," COMMA@1360..1361 ","
WHITESPACE@1361..1382 "\n " WHITESPACE@1361..1382 "\n "
PARAM@1382..1396 PARAM@1382..1396
BIND_PAT@1382..1387 IDENT_PAT@1382..1387
NAME@1382..1387 NAME@1382..1387
IDENT@1382..1387 "flags" IDENT@1382..1387 "flags"
COLON@1387..1388 ":" COLON@1387..1388 ":"
@ -842,7 +842,7 @@ SOURCE_FILE@0..1598
COMMA@1396..1397 "," COMMA@1396..1397 ","
WHITESPACE@1397..1398 " " WHITESPACE@1397..1398 " "
PARAM@1398..1419 PARAM@1398..1419
BIND_PAT@1398..1402 IDENT_PAT@1398..1402
NAME@1398..1402 NAME@1398..1402
IDENT@1398..1402 "addr" IDENT@1398..1402 "addr"
COLON@1402..1403 ":" COLON@1402..1403 ":"
@ -860,7 +860,7 @@ SOURCE_FILE@0..1598
COMMA@1419..1420 "," COMMA@1419..1420 ","
WHITESPACE@1420..1441 "\n " WHITESPACE@1420..1441 "\n "
PARAM@1441..1466 PARAM@1441..1466
BIND_PAT@1441..1448 IDENT_PAT@1441..1448
NAME@1441..1448 NAME@1441..1448
IDENT@1441..1448 "addrlen" IDENT@1441..1448 "addrlen"
COLON@1448..1449 ":" COLON@1448..1449 ":"
@ -899,7 +899,7 @@ SOURCE_FILE@0..1598
PARAM_LIST@1497..1581 PARAM_LIST@1497..1581
L_PAREN@1497..1498 "(" L_PAREN@1497..1498 "("
PARAM@1498..1513 PARAM@1498..1513
BIND_PAT@1498..1504 IDENT_PAT@1498..1504
NAME@1498..1504 NAME@1498..1504
IDENT@1498..1504 "socket" IDENT@1498..1504 "socket"
COLON@1504..1505 ":" COLON@1504..1505 ":"
@ -913,7 +913,7 @@ SOURCE_FILE@0..1598
COMMA@1513..1514 "," COMMA@1513..1514 ","
WHITESPACE@1514..1515 " " WHITESPACE@1514..1515 " "
PARAM@1515..1533 PARAM@1515..1533
BIND_PAT@1515..1518 IDENT_PAT@1515..1518
NAME@1515..1518 NAME@1515..1518
IDENT@1515..1518 "buf" IDENT@1515..1518 "buf"
COLON@1518..1519 ":" COLON@1518..1519 ":"
@ -931,7 +931,7 @@ SOURCE_FILE@0..1598
COMMA@1533..1534 "," COMMA@1533..1534 ","
WHITESPACE@1534..1535 " " WHITESPACE@1534..1535 " "
PARAM@1535..1548 PARAM@1535..1548
BIND_PAT@1535..1538 IDENT_PAT@1535..1538
NAME@1535..1538 NAME@1535..1538
IDENT@1535..1538 "len" IDENT@1535..1538 "len"
COLON@1538..1539 ":" COLON@1538..1539 ":"
@ -945,7 +945,7 @@ SOURCE_FILE@0..1598
COMMA@1548..1549 "," COMMA@1548..1549 ","
WHITESPACE@1549..1566 "\n " WHITESPACE@1549..1566 "\n "
PARAM@1566..1580 PARAM@1566..1580
BIND_PAT@1566..1571 IDENT_PAT@1566..1571
NAME@1566..1571 NAME@1566..1571
IDENT@1566..1571 "flags" IDENT@1566..1571 "flags"
COLON@1571..1572 ":" COLON@1571..1572 ":"

View file

@ -127,7 +127,7 @@ SOURCE_FILE@0..506
LET_STMT@301..503 LET_STMT@301..503
LET_KW@301..304 "let" LET_KW@301..304 "let"
WHITESPACE@304..305 " " WHITESPACE@304..305 " "
BIND_PAT@305..311 IDENT_PAT@305..311
NAME@305..311 NAME@305..311
IDENT@305..311 "result" IDENT@305..311 "result"
WHITESPACE@311..312 " " WHITESPACE@311..312 " "

View file

@ -144,7 +144,7 @@ SOURCE_FILE@0..3813
LET_STMT@543..570 LET_STMT@543..570
LET_KW@543..546 "let" LET_KW@543..546 "let"
WHITESPACE@546..547 " " WHITESPACE@546..547 " "
BIND_PAT@547..549 IDENT_PAT@547..549
NAME@547..549 NAME@547..549
IDENT@547..549 "_x" IDENT@547..549 "_x"
COLON@549..550 ":" COLON@549..550 ":"
@ -186,7 +186,7 @@ SOURCE_FILE@0..3813
PARAM_LIST@595..603 PARAM_LIST@595..603
L_PAREN@595..596 "(" L_PAREN@595..596 "("
PARAM@596..602 PARAM@596..602
BIND_PAT@596..598 IDENT_PAT@596..598
NAME@596..598 NAME@596..598
IDENT@596..598 "_x" IDENT@596..598 "_x"
COLON@598..599 ":" COLON@598..599 ":"
@ -237,7 +237,7 @@ SOURCE_FILE@0..3813
PARAM_LIST@648..664 PARAM_LIST@648..664
L_PAREN@648..649 "(" L_PAREN@648..649 "("
PARAM@649..663 PARAM@649..663
BIND_PAT@649..650 IDENT_PAT@649..650
NAME@649..650 NAME@649..650
IDENT@649..650 "x" IDENT@649..650 "x"
COLON@650..651 ":" COLON@650..651 ":"
@ -314,7 +314,7 @@ SOURCE_FILE@0..3813
LET_STMT@725..751 LET_STMT@725..751
LET_KW@725..728 "let" LET_KW@725..728 "let"
WHITESPACE@728..729 " " WHITESPACE@728..729 " "
BIND_PAT@729..730 IDENT_PAT@729..730
NAME@729..730 NAME@729..730
IDENT@729..730 "i" IDENT@729..730 "i"
WHITESPACE@730..731 " " WHITESPACE@730..731 " "
@ -343,7 +343,7 @@ SOURCE_FILE@0..3813
LET_STMT@756..778 LET_STMT@756..778
LET_KW@756..759 "let" LET_KW@756..759 "let"
WHITESPACE@759..760 " " WHITESPACE@759..760 " "
BIND_PAT@760..764 IDENT_PAT@760..764
NAME@760..764 NAME@760..764
IDENT@760..764 "dont" IDENT@760..764 "dont"
WHITESPACE@764..765 " " WHITESPACE@764..765 " "
@ -587,7 +587,7 @@ SOURCE_FILE@0..3813
LET_STMT@1343..1361 LET_STMT@1343..1361
LET_KW@1343..1346 "let" LET_KW@1343..1346 "let"
WHITESPACE@1346..1347 " " WHITESPACE@1346..1347 " "
BIND_PAT@1347..1353 IDENT_PAT@1347..1353
MUT_KW@1347..1350 "mut" MUT_KW@1347..1350 "mut"
WHITESPACE@1350..1351 " " WHITESPACE@1350..1351 " "
NAME@1351..1353 NAME@1351..1353
@ -604,7 +604,7 @@ SOURCE_FILE@0..3813
LET_STMT@1366..1400 LET_STMT@1366..1400
LET_KW@1366..1369 "let" LET_KW@1366..1369 "let"
WHITESPACE@1369..1370 " " WHITESPACE@1369..1370 " "
BIND_PAT@1370..1376 IDENT_PAT@1370..1376
MUT_KW@1370..1373 "mut" MUT_KW@1370..1373 "mut"
WHITESPACE@1373..1374 " " WHITESPACE@1373..1374 " "
NAME@1374..1376 NAME@1374..1376
@ -649,7 +649,7 @@ SOURCE_FILE@0..3813
LET_STMT@1405..1438 LET_STMT@1405..1438
LET_KW@1405..1408 "let" LET_KW@1405..1408 "let"
WHITESPACE@1408..1409 " " WHITESPACE@1408..1409 " "
BIND_PAT@1409..1415 IDENT_PAT@1409..1415
MUT_KW@1409..1412 "mut" MUT_KW@1409..1412 "mut"
WHITESPACE@1412..1413 " " WHITESPACE@1412..1413 " "
NAME@1413..1415 NAME@1413..1415
@ -694,7 +694,7 @@ SOURCE_FILE@0..3813
LET_STMT@1443..1474 LET_STMT@1443..1474
LET_KW@1443..1446 "let" LET_KW@1443..1446 "let"
WHITESPACE@1446..1447 " " WHITESPACE@1446..1447 " "
BIND_PAT@1447..1449 IDENT_PAT@1447..1449
NAME@1447..1449 NAME@1447..1449
IDENT@1447..1449 "_a" IDENT@1447..1449 "_a"
WHITESPACE@1449..1450 " " WHITESPACE@1449..1450 " "
@ -737,7 +737,7 @@ SOURCE_FILE@0..3813
LET_STMT@1479..1537 LET_STMT@1479..1537
LET_KW@1479..1482 "let" LET_KW@1479..1482 "let"
WHITESPACE@1482..1483 " " WHITESPACE@1482..1483 " "
BIND_PAT@1483..1485 IDENT_PAT@1483..1485
NAME@1483..1485 NAME@1483..1485
IDENT@1483..1485 "_b" IDENT@1483..1485 "_b"
WHITESPACE@1485..1486 " " WHITESPACE@1485..1486 " "
@ -859,7 +859,7 @@ SOURCE_FILE@0..3813
LET_STMT@1603..1648 LET_STMT@1603..1648
LET_KW@1603..1606 "let" LET_KW@1603..1606 "let"
WHITESPACE@1606..1607 " " WHITESPACE@1606..1607 " "
BIND_PAT@1607..1609 IDENT_PAT@1607..1609
NAME@1607..1609 NAME@1607..1609
IDENT@1607..1609 "_a" IDENT@1607..1609 "_a"
WHITESPACE@1609..1610 " " WHITESPACE@1609..1610 " "
@ -906,7 +906,7 @@ SOURCE_FILE@0..3813
LET_STMT@1653..1685 LET_STMT@1653..1685
LET_KW@1653..1656 "let" LET_KW@1653..1656 "let"
WHITESPACE@1656..1657 " " WHITESPACE@1656..1657 " "
BIND_PAT@1657..1659 IDENT_PAT@1657..1659
NAME@1657..1659 NAME@1657..1659
IDENT@1657..1659 "_c" IDENT@1657..1659 "_c"
WHITESPACE@1659..1660 " " WHITESPACE@1659..1660 " "
@ -943,7 +943,7 @@ SOURCE_FILE@0..3813
LET_STMT@1690..1739 LET_STMT@1690..1739
LET_KW@1690..1693 "let" LET_KW@1690..1693 "let"
WHITESPACE@1693..1694 " " WHITESPACE@1693..1694 " "
BIND_PAT@1694..1696 IDENT_PAT@1694..1696
NAME@1694..1696 NAME@1694..1696
IDENT@1694..1696 "_b" IDENT@1694..1696 "_b"
COLON@1696..1697 ":" COLON@1696..1697 ":"
@ -1024,7 +1024,7 @@ SOURCE_FILE@0..3813
LET_STMT@1790..1804 LET_STMT@1790..1804
LET_KW@1790..1793 "let" LET_KW@1790..1793 "let"
WHITESPACE@1793..1794 " " WHITESPACE@1793..1794 " "
BIND_PAT@1794..1799 IDENT_PAT@1794..1799
MUT_KW@1794..1797 "mut" MUT_KW@1794..1797 "mut"
WHITESPACE@1797..1798 " " WHITESPACE@1797..1798 " "
NAME@1798..1799 NAME@1798..1799
@ -1146,7 +1146,7 @@ SOURCE_FILE@0..3813
LET_STMT@1926..1958 LET_STMT@1926..1958
LET_KW@1926..1929 "let" LET_KW@1926..1929 "let"
WHITESPACE@1929..1930 " " WHITESPACE@1929..1930 " "
BIND_PAT@1930..1935 IDENT_PAT@1930..1935
NAME@1930..1935 NAME@1930..1935
IDENT@1930..1935 "_evil" IDENT@1930..1935 "_evil"
WHITESPACE@1935..1936 " " WHITESPACE@1935..1936 " "
@ -1292,7 +1292,7 @@ SOURCE_FILE@0..3813
PARAM_LIST@2205..2213 PARAM_LIST@2205..2213
L_PAREN@2205..2206 "(" L_PAREN@2205..2206 "("
PARAM@2206..2212 PARAM@2206..2212
BIND_PAT@2206..2208 IDENT_PAT@2206..2208
NAME@2206..2208 NAME@2206..2208
IDENT@2206..2208 "u8" IDENT@2206..2208 "u8"
COLON@2208..2209 ":" COLON@2208..2209 ":"
@ -1614,7 +1614,7 @@ SOURCE_FILE@0..3813
LET_STMT@2938..3021 LET_STMT@2938..3021
LET_KW@2938..2941 "let" LET_KW@2938..2941 "let"
WHITESPACE@2941..2942 " " WHITESPACE@2941..2942 " "
BIND_PAT@2942..2945 IDENT_PAT@2942..2945
NAME@2942..2945 NAME@2942..2945
IDENT@2942..2945 "val" IDENT@2942..2945 "val"
WHITESPACE@2945..2946 " " WHITESPACE@2945..2946 " "
@ -1648,7 +1648,7 @@ SOURCE_FILE@0..3813
R_PAREN@2961..2962 ")" R_PAREN@2961..2962 ")"
COMMA@2962..2963 "," COMMA@2962..2963 ","
PARAM@2963..2967 PARAM@2963..2967
BIND_PAT@2963..2967 IDENT_PAT@2963..2967
NAME@2963..2965 NAME@2963..2965
IDENT@2963..2965 "__" IDENT@2963..2965 "__"
AT@2965..2966 "@" AT@2965..2966 "@"

View file

@ -14,7 +14,7 @@ SOURCE_FILE@0..59
LET_STMT@11..29 LET_STMT@11..29
LET_KW@11..14 "let" LET_KW@11..14 "let"
WHITESPACE@14..15 " " WHITESPACE@14..15 " "
BIND_PAT@15..23 IDENT_PAT@15..23
NAME@15..23 NAME@15..23
IDENT@15..23 "r#struct" IDENT@15..23 "r#struct"
WHITESPACE@23..24 " " WHITESPACE@23..24 " "
@ -27,7 +27,7 @@ SOURCE_FILE@0..59
LET_STMT@30..57 LET_STMT@30..57
LET_KW@30..33 "let" LET_KW@30..33 "let"
WHITESPACE@33..34 " " WHITESPACE@33..34 " "
BIND_PAT@34..41 IDENT_PAT@34..41
NAME@34..41 NAME@34..41
IDENT@34..41 "r#trait" IDENT@34..41 "r#trait"
WHITESPACE@41..42 " " WHITESPACE@41..42 " "

View file

@ -33,7 +33,7 @@ SOURCE_FILE@0..166
WHITESPACE@106..111 "\n " WHITESPACE@106..111 "\n "
LET_KW@111..114 "let" LET_KW@111..114 "let"
WHITESPACE@114..115 " " WHITESPACE@114..115 " "
BIND_PAT@115..124 IDENT_PAT@115..124
NAME@115..124 NAME@115..124
IDENT@115..124 "exit_code" IDENT@115..124 "exit_code"
WHITESPACE@124..125 " " WHITESPACE@124..125 " "

View file

@ -114,7 +114,7 @@ SOURCE_FILE@0..686
COMMA@564..565 "," COMMA@564..565 ","
WHITESPACE@565..566 " " WHITESPACE@565..566 " "
PARAM@566..600 PARAM@566..600
BIND_PAT@566..574 IDENT_PAT@566..574
NAME@566..574 NAME@566..574
IDENT@566..574 "event_fn" IDENT@566..574 "event_fn"
COLON@574..575 ":" COLON@574..575 ":"

View file

@ -16,7 +16,7 @@ SOURCE_FILE@0..257
LET_STMT@91..105 LET_STMT@91..105
LET_KW@91..94 "let" LET_KW@91..94 "let"
WHITESPACE@94..95 " " WHITESPACE@94..95 " "
BIND_PAT@95..100 IDENT_PAT@95..100
MUT_KW@95..98 "mut" MUT_KW@95..98 "mut"
WHITESPACE@98..99 " " WHITESPACE@98..99 " "
NAME@99..100 NAME@99..100

View file

@ -7,7 +7,7 @@ SOURCE_FILE@0..95
PARAM_LIST@6..49 PARAM_LIST@6..49
L_PAREN@6..7 "(" L_PAREN@6..7 "("
PARAM@7..48 PARAM@7..48
BIND_PAT@7..8 IDENT_PAT@7..8
NAME@7..8 NAME@7..8
IDENT@7..8 "x" IDENT@7..8 "x"
COLON@8..9 ":" COLON@8..9 ":"

View file

@ -25,7 +25,7 @@ SOURCE_FILE@0..519
R_BRACK@22..23 "]" R_BRACK@22..23 "]"
WHITESPACE@23..24 " " WHITESPACE@23..24 " "
PARAM@24..33 PARAM@24..33
BIND_PAT@24..27 IDENT_PAT@24..27
NAME@24..27 NAME@24..27
IDENT@24..27 "pat" IDENT@24..27 "pat"
COLON@27..28 ":" COLON@27..28 ":"
@ -58,7 +58,7 @@ SOURCE_FILE@0..519
R_BRACK@51..52 "]" R_BRACK@51..52 "]"
WHITESPACE@52..53 " " WHITESPACE@52..53 " "
PARAM@53..58 PARAM@53..58
BIND_PAT@53..54 IDENT_PAT@53..54
NAME@53..54 NAME@53..54
IDENT@53..54 "x" IDENT@53..54 "x"
COLON@54..55 ":" COLON@54..55 ":"
@ -91,7 +91,7 @@ SOURCE_FILE@0..519
PARAM_LIST@86..118 PARAM_LIST@86..118
L_PAREN@86..87 "(" L_PAREN@86..87 "("
PARAM@87..104 PARAM@87..104
BIND_PAT@87..93 IDENT_PAT@87..93
NAME@87..93 NAME@87..93
IDENT@87..93 "format" IDENT@87..93 "format"
COLON@93..94 ":" COLON@93..94 ":"
@ -234,7 +234,7 @@ SOURCE_FILE@0..519
R_BRACK@220..221 "]" R_BRACK@220..221 "]"
WHITESPACE@221..222 " " WHITESPACE@221..222 " "
PARAM@222..232 PARAM@222..232
BIND_PAT@222..227 IDENT_PAT@222..227
MUT_KW@222..225 "mut" MUT_KW@222..225 "mut"
WHITESPACE@225..226 " " WHITESPACE@225..226 " "
NAME@226..227 NAME@226..227

View file

@ -14,7 +14,7 @@ SOURCE_FILE@0..80
FOR_EXPR@14..77 FOR_EXPR@14..77
FOR_KW@14..17 "for" FOR_KW@14..17 "for"
WHITESPACE@17..18 " " WHITESPACE@17..18 " "
BIND_PAT@18..20 IDENT_PAT@18..20
NAME@18..20 NAME@18..20
IDENT@18..20 "_x" IDENT@18..20 "_x"
WHITESPACE@20..21 " " WHITESPACE@20..21 " "

View file

@ -7,7 +7,7 @@ SOURCE_FILE@0..50
PARAM_LIST@6..14 PARAM_LIST@6..14
L_PAREN@6..7 "(" L_PAREN@6..7 "("
PARAM@7..13 PARAM@7..13
BIND_PAT@7..8 IDENT_PAT@7..8
NAME@7..8 NAME@7..8
IDENT@7..8 "x" IDENT@7..8 "x"
COLON@8..9 ":" COLON@8..9 ":"

View file

@ -18,12 +18,12 @@ SOURCE_FILE@0..170
PARAM@20..42 PARAM@20..42
TUPLE_PAT@20..26 TUPLE_PAT@20..26
L_PAREN@20..21 "(" L_PAREN@20..21 "("
BIND_PAT@21..22 IDENT_PAT@21..22
NAME@21..22 NAME@21..22
IDENT@21..22 "a" IDENT@21..22 "a"
COMMA@22..23 "," COMMA@22..23 ","
WHITESPACE@23..24 " " WHITESPACE@23..24 " "
BIND_PAT@24..25 IDENT_PAT@24..25
NAME@24..25 NAME@24..25
IDENT@24..25 "b" IDENT@24..25 "b"
R_PAREN@25..26 ")" R_PAREN@25..26 ")"
@ -68,13 +68,13 @@ SOURCE_FILE@0..170
L_CURLY@59..60 "{" L_CURLY@59..60 "{"
WHITESPACE@60..61 " " WHITESPACE@60..61 " "
RECORD_PAT_FIELD@61..62 RECORD_PAT_FIELD@61..62
BIND_PAT@61..62 IDENT_PAT@61..62
NAME@61..62 NAME@61..62
IDENT@61..62 "a" IDENT@61..62 "a"
COMMA@62..63 "," COMMA@62..63 ","
WHITESPACE@63..64 " " WHITESPACE@63..64 " "
RECORD_PAT_FIELD@64..65 RECORD_PAT_FIELD@64..65
BIND_PAT@64..65 IDENT_PAT@64..65
NAME@64..65 NAME@64..65
IDENT@64..65 "b" IDENT@64..65 "b"
WHITESPACE@65..66 " " WHITESPACE@65..66 " "
@ -106,7 +106,7 @@ SOURCE_FILE@0..170
NAME_REF@85..92 NAME_REF@85..92
IDENT@85..92 "NewType" IDENT@85..92 "NewType"
L_PAREN@92..93 "(" L_PAREN@92..93 "("
BIND_PAT@93..94 IDENT_PAT@93..94
NAME@93..94 NAME@93..94
IDENT@93..94 "a" IDENT@93..94 "a"
R_PAREN@94..95 ")" R_PAREN@94..95 ")"
@ -135,7 +135,7 @@ SOURCE_FILE@0..170
AMP@119..120 "&" AMP@119..120 "&"
REF_PAT@120..122 REF_PAT@120..122
AMP@120..121 "&" AMP@120..121 "&"
BIND_PAT@121..122 IDENT_PAT@121..122
NAME@121..122 NAME@121..122
IDENT@121..122 "a" IDENT@121..122 "a"
COLON@122..123 ":" COLON@122..123 ":"
@ -175,7 +175,7 @@ SOURCE_FILE@0..170
COMMA@153..154 "," COMMA@153..154 ","
WHITESPACE@154..155 " " WHITESPACE@154..155 " "
PARAM@155..165 PARAM@155..165
BIND_PAT@155..160 IDENT_PAT@155..160
MUT_KW@155..158 "mut" MUT_KW@155..158 "mut"
WHITESPACE@158..159 " " WHITESPACE@158..159 " "
NAME@159..160 NAME@159..160

View file

@ -108,17 +108,17 @@ SOURCE_FILE@0..126
PARAM@106..120 PARAM@106..120
SLICE_PAT@106..115 SLICE_PAT@106..115
L_BRACK@106..107 "[" L_BRACK@106..107 "["
BIND_PAT@107..108 IDENT_PAT@107..108
NAME@107..108 NAME@107..108
IDENT@107..108 "w" IDENT@107..108 "w"
COMMA@108..109 "," COMMA@108..109 ","
WHITESPACE@109..110 " " WHITESPACE@109..110 " "
BIND_PAT@110..111 IDENT_PAT@110..111
NAME@110..111 NAME@110..111
IDENT@110..111 "t" IDENT@110..111 "t"
COMMA@111..112 "," COMMA@111..112 ","
WHITESPACE@112..113 " " WHITESPACE@112..113 " "
BIND_PAT@113..114 IDENT_PAT@113..114
NAME@113..114 NAME@113..114
IDENT@113..114 "f" IDENT@113..114 "f"
R_BRACK@114..115 "]" R_BRACK@114..115 "]"

View file

@ -21,12 +21,12 @@ SOURCE_FILE@0..137
PARAM@19..41 PARAM@19..41
TUPLE_PAT@19..25 TUPLE_PAT@19..25
L_PAREN@19..20 "(" L_PAREN@19..20 "("
BIND_PAT@20..21 IDENT_PAT@20..21
NAME@20..21 NAME@20..21
IDENT@20..21 "a" IDENT@20..21 "a"
COMMA@21..22 "," COMMA@21..22 ","
WHITESPACE@22..23 " " WHITESPACE@22..23 " "
BIND_PAT@23..24 IDENT_PAT@23..24
NAME@23..24 NAME@23..24
IDENT@23..24 "b" IDENT@23..24 "b"
R_PAREN@24..25 ")" R_PAREN@24..25 ")"
@ -71,13 +71,13 @@ SOURCE_FILE@0..137
L_CURLY@58..59 "{" L_CURLY@58..59 "{"
WHITESPACE@59..60 " " WHITESPACE@59..60 " "
RECORD_PAT_FIELD@60..61 RECORD_PAT_FIELD@60..61
BIND_PAT@60..61 IDENT_PAT@60..61
NAME@60..61 NAME@60..61
IDENT@60..61 "a" IDENT@60..61 "a"
COMMA@61..62 "," COMMA@61..62 ","
WHITESPACE@62..63 " " WHITESPACE@62..63 " "
RECORD_PAT_FIELD@63..64 RECORD_PAT_FIELD@63..64
BIND_PAT@63..64 IDENT_PAT@63..64
NAME@63..64 NAME@63..64
IDENT@63..64 "b" IDENT@63..64 "b"
WHITESPACE@64..65 " " WHITESPACE@64..65 " "
@ -109,7 +109,7 @@ SOURCE_FILE@0..137
NAME_REF@84..91 NAME_REF@84..91
IDENT@84..91 "NewType" IDENT@84..91 "NewType"
L_PAREN@91..92 "(" L_PAREN@91..92 "("
BIND_PAT@92..93 IDENT_PAT@92..93
NAME@92..93 NAME@92..93
IDENT@92..93 "a" IDENT@92..93 "a"
R_PAREN@93..94 ")" R_PAREN@93..94 ")"
@ -138,7 +138,7 @@ SOURCE_FILE@0..137
AMP@118..119 "&" AMP@118..119 "&"
REF_PAT@119..121 REF_PAT@119..121
AMP@119..120 "&" AMP@119..120 "&"
BIND_PAT@120..121 IDENT_PAT@120..121
NAME@120..121 NAME@120..121
IDENT@120..121 "a" IDENT@120..121 "a"
COLON@121..122 ":" COLON@121..122 ":"

View file

@ -245,7 +245,7 @@ SOURCE_FILE@0..374
PARAM_LIST@239..247 PARAM_LIST@239..247
L_PAREN@239..240 "(" L_PAREN@239..240 "("
PARAM@240..246 PARAM@240..246
BIND_PAT@240..242 IDENT_PAT@240..242
NAME@240..242 NAME@240..242
IDENT@240..242 "_t" IDENT@240..242 "_t"
COLON@242..243 ":" COLON@242..243 ":"

View file

@ -126,7 +126,7 @@ pub(crate) const KINDS_SRC: KindsSrc = KindsSrc {
"PAREN_PAT", "PAREN_PAT",
"REF_PAT", "REF_PAT",
"BOX_PAT", "BOX_PAT",
"BIND_PAT", "IDENT_PAT",
"WILDCARD_PAT", "WILDCARD_PAT",
"DOT_DOT_PAT", "DOT_DOT_PAT",
"PATH_PAT", "PATH_PAT",

View file

@ -497,7 +497,7 @@ TypeBound =
| '?'? Type | '?'? Type
Pat = Pat =
BindPat IdentPat
| BoxPat | BoxPat
| DotDotPat | DotDotPat
| LiteralPat | LiteralPat
@ -516,7 +516,7 @@ Pat =
LiteralPat = LiteralPat =
Literal Literal
BindPat = IdentPat =
Attr* 'ref'? 'mut'? Name ('@' Pat)? Attr* 'ref'? 'mut'? Name ('@' Pat)?
WildcardPat = WildcardPat =