[BREAKING CHANGE] Change Atom to Atom<'a> to make it safe#2497
Merged
Conversation
Member
Author
|
@overlookmotel Here we go ... I still remember the week it took me to understand lifetimes and adding them to the AST, which is 2 years ago. It should be faster this time ... just follow compiler errors :-) Once the errors propagate to crates other than the ast and parser crates, I'll decide on the stop whether I want to change them to |
CodSpeed Performance ReportMerging #2497 will improve performances by 5.25%Comparing Summary
Benchmarks breakdown
|
Atom<'a> rework
Atom<'a> reworkAtom to Atom<'a> to make it safe
IWANABETHATGUY
pushed a commit
to IWANABETHATGUY/oxc
that referenced
this pull request
May 29, 2024
…oject#2497) Part of oxc-project#2295 This PR splits the `Atom` type into `Atom<'a>` and `CompactString`. All the AST node strings now use `Atom<'a>` instead of `Atom` to signify it belongs to the arena. It is now up to the user to select which form of the string to use. This PR essentially removes the really unsafe code https://github.com/oxc-project/oxc/blob/93742f89e91bc7c45491b6d2b49a134fa65f2b5c/crates/oxc_span/src/atom.rs#L98-L107 which can lead to 
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #2295
This PR splits the
Atomtype intoAtom<'a>andCompactString.All the AST node strings now use
Atom<'a>instead ofAtomto signify it belongs to the arena.It is now up to the user to select which form of the string to use.
This PR essentially removes this really unsafe code
oxc/crates/oxc_span/src/atom.rs
Lines 98 to 107 in 93742f8
which can lead to
