Avoid reusing the root node during incremental parsing

Fixes #712
This commit is contained in:
Max Brunsfeld 2020-09-23 12:59:24 -07:00
parent 4d99e23946
commit cb343cad5e
2 changed files with 28 additions and 9 deletions

View file

@ -395,6 +395,18 @@ fn test_parsing_after_editing_end_of_code() {
assert_eq!(recorder.strings_read(), vec![" * ", "abc.d)",]);
}
#[test]
fn test_parsing_empty_file_with_reused_tree() {
let mut parser = Parser::new();
parser.set_language(get_language("rust")).unwrap();
let tree = parser.parse("", None);
parser.parse("", tree.as_ref());
let tree = parser.parse("\n ", None);
parser.parse("\n ", tree.as_ref());
}
// Thread safety
#[test]