Skip to content

text/template: remove concurrency from scanner #53261

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
robpike opened this issue Jun 7, 2022 · 2 comments
Closed

text/template: remove concurrency from scanner #53261

robpike opened this issue Jun 7, 2022 · 2 comments
Assignees
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done.
Milestone

Comments

@robpike
Copy link
Contributor

robpike commented Jun 7, 2022

The concurrency makes for a fun demonstration (see the youtube video), but causes problems when other parts of the system want to interact with the scanner. Races result. Plus various changes to the package over time have introduced problems.

Change the scanner to be more traditional, proceeding in lockstep with the parser rather than independently. It should be easy to do and will simplify and perhaps speed up the whole thing.

@robpike robpike self-assigned this Jun 7, 2022
@seankhliao seankhliao added the NeedsFix The path to resolution is known, but the work has not been done. label Jun 7, 2022
@golang golang deleted a comment from gopherbot Jun 16, 2022
@robpike
Copy link
Contributor Author

robpike commented Jun 16, 2022

I have a change that implements this, but am waiting for the next release cycle to start before sending it out for review.

@gopherbot
Copy link
Contributor

Change https://go.dev/cl/421883 mentions this issue: text/template/parse: simplify I/O in lexing

@seankhliao seankhliao added this to the Go1.20 milestone Aug 20, 2022
@golang golang locked and limited conversation to collaborators Sep 15, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done.
Projects
None yet
Development

No branches or pull requests

3 participants