Skip to content
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

Labeled break and continue #2216

Closed
brson opened this issue Apr 16, 2012 · 31 comments
Closed

Labeled break and continue #2216

brson opened this issue Apr 16, 2012 · 31 comments
Milestone

Comments

@brson
Copy link
Contributor

brson commented Apr 16, 2012

Henri needs a labeled break and continue equivalent in order to generate an HTML parser for servo. For C++ they use gotos and macros. We could possibly devise something with macros, though it may not be efficient.

@graydon
Copy link
Contributor

graydon commented Apr 16, 2012

The only difficulty is grammatical: collides when at the beginning of a block. Open brace ident colon is the prefix of a record literal. Any other good looking options?

@boggle
Copy link
Contributor

boggle commented Apr 16, 2012

Would pre-declaring of labels help to sort this out, i.e. label foo and a production that dispatches pre-declared labels as potential jump targets and non-declared ones as record fields?

@graydon
Copy link
Contributor

graydon commented Apr 16, 2012

might, but seems unfortunate. maybe some kind of sub production on the loop headers? while foo: bar() {...} should work, i think. label immediately following loop keyword. tolerable?

@boggle
Copy link
Contributor

boggle commented Apr 16, 2012

I find that hard to read when scanning for labels but with a small lookahead 'foo: while' should be distinguishable due to while being a keyword.

@bstrie
Copy link
Contributor

bstrie commented Apr 17, 2012

Right now {foo: while true { break; }} is a valid record where the value of foo is ().

@bstrie
Copy link
Contributor

bstrie commented Apr 17, 2012

Perhaps the most sane solution is simply to introduce a new label keyword. In that way at least it doesn't require too much cleverness, and it requires people to be explicit where they want to use labeled break and continue (which hopefully will not be too often).

@nikomatsakis
Copy link
Contributor

One thing: I don't know what Henri needs precisely, but at least in Java it is possible to label an arbitrary block and break out of it:

some_block: {
    ...
    if (some_cond)
        // Jumps to (1)
        break some_block;
    ...
}
... // (1)

Whatever syntax we do may need to be applicable to blocks as well.

This was referenced Apr 18, 2012
@brson
Copy link
Contributor Author

brson commented Apr 19, 2012

I think we should try to resolve this for 0.3

@brson
Copy link
Contributor Author

brson commented Apr 19, 2012

I took a peek at the parser source and I suspect that it only uses labels on for loops, mostly ones that look like for(;;).

@brson
Copy link
Contributor Author

brson commented Apr 19, 2012

#[label = "foo"]
loop {
}

We don't even have to commit to a syntax.

@brson
Copy link
Contributor Author

brson commented Apr 19, 2012

#[label = "foo"]
loop {
    #[label = "foo"]
    break;
}

@boggle
Copy link
Contributor

boggle commented Apr 19, 2012

Nice, I like this!

@graydon
Copy link
Contributor

graydon commented Apr 19, 2012

Attributes could work but feels odd to me given that it is control flow. What about assembly style labels? .label: { ... } ?

@bstrie
Copy link
Contributor

bstrie commented May 25, 2012

If concerns over the syntax for labeling loops is blocking this, there's a way to defer that argument while still having this feature:

loop {
    // whatever
    loop {
        // whatever
        loop {
            if whatever {
                break 0;  // breaks to the parent loop
            }
            else {
                break 1;  // breaks to the grandparent loop
            }
        }
    }
}

Ugly, but at least it wouldn't preclude people from making use of labeled break/continue due to syntax concerns.

@brson
Copy link
Contributor Author

brson commented Jul 5, 2012

This is likely to be a rarely used feature so it doesn't need a perfect syntax. It may not be worth, for example, reserving the prefix dot for labels, introducing a new syntax for naming things. Splicing the name in as a subproduction of the loop header as graydon suggested is a reasonably unobtrusive way to introduce a feature we're not sure about.

Here's another idea - loop is the only way to create a labeled loop and it looks like this:

loop {
loop: foo {
loop: bar while something {
loop: baz for xs.each |x| {

This should be easier to scan since all the labels are in the same position.

@JosephLenton
Copy link

A random suggestion, but why not allow multiple breaks in a stamenet?

loop {
    loop {
        loop {
            break break break;
        }
    }
}

If one break breaks one loop, then two breaks should break two loops, and three would break three loops, and so on.

@Vincent-Belliard
Copy link
Contributor

I think that Rust doesn't use dot as an unary prefixed operator. A syntax could be:

loop.foo {}
while.foo a > 0 {}
for.foo each(~[2, 4, 8, 5, 16]) |n| {}

The dot could also be replaced by a colon.

@ghost ghost assigned pcwalton Aug 31, 2012
@jesse99
Copy link
Contributor

jesse99 commented Sep 1, 2012

Was this done in bdb206f? If so it should be documented.

@brson
Copy link
Contributor Author

brson commented Sep 1, 2012

The syntax has been added as loop foo: { }, with no syntax for while and for. This is hopefully the minimum we can do to support the use cases for which it matters. It still doesn't work though.

@burg
Copy link

burg commented Sep 10, 2012

IME, labeled break/continue is really really helpful when writing an inline flow/text wrapping algorithm.

@ghost ghost assigned catamorphism Sep 10, 2012
@catamorphism
Copy link
Contributor

Reassigning to myself.

@nikomatsakis
Copy link
Contributor

Deferring to 0.5

@brson
Copy link
Contributor Author

brson commented Oct 5, 2012

Henri gave us some specific requirements: https://mail.mozilla.org/pipermail/rust-dev/2012-October/002413.html

@hsivonen
Copy link
Member

One thing: I don't know what Henri needs precisely, but at least in Java it is possible to label an arbitrary block and break out of it

Whoa. I was unaware!

The parser code currently just breaks/continues conditionless for loops. However, so of those never loop and are, in fact, just block to break out of, but I didn’t know that was allowed in Java.

@ibukanov
Copy link
Contributor

Regarding that Java feature where the break can jump out of any labeled block. Effectively it provides a forward-only goto that cannot enter new blocks. So what about just adding a real goto to Rust that has the similar forward-only jump restrictions? Then one would not need a labeled continue and explicit label statement no longer looks bad like in:

loop {
loop {
loop {
goto out;
}
}
}
label out;

@brson
Copy link
Contributor Author

brson commented Oct 10, 2012

@ibukanov nice idea! It does add two entire keywords for a corner case, though.

@ibukanov
Copy link
Contributor

On 10 October 2012 21:23, Brian Anderson notifications@github.com wrote:

@ibukanov nice idea! It does add two entire keywords for a corner case, though.

Well, then goto may remain labeled break.

@JosephLenton
Copy link

Then use 'break break break' instead. No new keywords, just a little extra grammar.

Even with the controlled goto's we have now, they are not that readable.

@catamorphism
Copy link
Contributor

This is going to be my priority for 0.5 (and shouldn't take the entire time in between now and the next release!)

catamorphism added a commit to catamorphism/rust that referenced this issue Oct 18, 2012
This patch adds preliminary middle-end support (liveness and trans)
for breaks and `loop`s to `loop` constructs that have labels.

while and for loops can't have labels yet.

Progress on rust-lang#2216
@catamorphism
Copy link
Contributor

Preliminary version pending review by @pcwalton .

catamorphism added a commit that referenced this issue Oct 22, 2012
This patch adds preliminary middle-end support (liveness and trans)
for breaks and `loop`s to `loop` constructs that have labels.

while and for loops can't have labels yet.

Progress on #2216
@catamorphism
Copy link
Contributor

This is working except for a named break inside a for loop. I guess I'll just make a separate bug for that.

JohnTitor referenced this issue in JohnTitor/rust Feb 1, 2021
…chenkov

Move some tests to more reasonable directories - 3

cc rust-lang#73494
r? `@petrochenkov`

https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-56202.rs <sup>https://github.com/rust-lang/rust/issues/56202</sup>: traits 1.008
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-69841.rs <sup>https://github.com/rust-lang/rust/issues/69841</sup>: for-loop-while 1.014
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-10763.rs <sup>https://github.com/rust-lang/rust/issues/10763</sup>: extern 1.016
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-50599.rs <sup>https://github.com/rust-lang/rust/issues/50599</sup>: resolve 1.018
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-6128.rs <sup>https://github.com/rust-lang/rust/issues/6128</sup>: traits 1.043
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-20616-8.rs <sup>https://github.com/rust-lang/rust/issues/20616</sup>: parser 1.045
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-46553.rs <sup>https://github.com/rust-lang/rust/issues/46553</sup>: consts 1.081
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-33140-hack-boundaries.rs <sup>https://github.com/rust-lang/rust/issues/33140</sup>: traits 1.101
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-25826.rs <sup>https://github.com/rust-lang/rust/issues/25826</sup>: consts 1.108
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-56488.rs <sup>https://github.com/rust-lang/rust/issues/56488</sup>: traits 1.110
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-58856-1.rs <sup>https://github.com/rust-lang/rust/issues/58856</sup>: parser 1.133
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-57819.rs <sup>https://github.com/rust-lang/rust/issues/57819</sup>: parser 1.138
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-54348.rs <sup>https://github.com/rust-lang/rust/issues/54348</sup>: consts 1.155
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-14309.rs <sup>https://github.com/rust-lang/rust/issues/14309</sup>: lint 1.160
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-4446.rs <sup>https://github.com/rust-lang/rust/issues/4446</sup>: threads-sendsync 1.203
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-53675-a-test-called-panic.rs <sup>https://github.com/rust-lang/rust/issues/53675</sup>: test-attrs 1.211
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-40231-2.rs <sup>https://github.com/rust-lang/rust/issues/40231</sup>: consts 1.213
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-22037.rs <sup>https://github.com/rust-lang/rust/issues/22037</sup>: associated-types 1.214
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-59029-2.rs <sup>https://github.com/rust-lang/rust/issues/59029</sup>: traits 1.219
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-18425.rs <sup>https://github.com/rust-lang/rust/issues/18425</sup>: consts 1.237
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-6157.rs <sup>https://github.com/rust-lang/rust/issues/6157</sup>: regions 1.238
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-33819.rs <sup>https://github.com/rust-lang/rust/issues/33819</sup>: borrowck 1.280
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-3683.rs <sup>https://github.com/rust-lang/rust/issues/3683</sup>: traits 1.283
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-8709.rs <sup>https://github.com/rust-lang/rust/issues/8709</sup>: macros 1.291
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-20616-9.rs <sup>https://github.com/rust-lang/rust/issues/20616</sup>: parser 1.293
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-64732.rs <sup>https://github.com/rust-lang/rust/issues/64732</sup>: parser 1.296
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-18655.rs <sup>https://github.com/rust-lang/rust/issues/18655</sup>: associated-types 1.305
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-32947.rs <sup>https://github.com/rust-lang/rust/issues/32947</sup>: simd 1.322
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-57198.rs <sup>https://github.com/rust-lang/rust/issues/57198</sup>: parser 1.342
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-10764-rpass.rs <sup>https://github.com/rust-lang/rust/issues/10764</sup>: extern 1.392
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-73541-2.rs <sup>https://github.com/rust-lang/rust/issues/73541</sup>: async-await 1.422
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-7970b.rs <sup>https://github.com/rust-lang/rust/issues/7970</sup>: parser 1.439
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-57684.rs <sup>https://github.com/rust-lang/rust/issues/57684</sup>: parser 1.512
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-33264.rs <sup>https://github.com/rust-lang/rust/issues/33264</sup>: llvm-asm 1.523
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-65284-suggest-generic-trait-bound.rs <sup>https://github.com/rust-lang/rust/issues/65284</sup>: suggestions 1.647
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-17458.rs <sup>https://github.com/rust-lang/rust/issues/17458</sup>: consts 1.711
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-56762.rs <sup>https://github.com/rust-lang/rust/issues/56762</sup>: consts 1.787
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-2216.rs <sup>https://github.com/rust-lang/rust/issues/2216</sup>: for-loop-while 1.856
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-45696-scribble-on-boxed-borrow.rs <sup>https://github.com/rust-lang/rust/issues/45696</sup>: nll 2.009
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-46036.rs <sup>https://github.com/rust-lang/rust/issues/46036</sup>: nll 2.059

`@petrochenkov` Can you put a place holder (like `N/A`) for tests without GitHub issues? It is a lot easier to parse fixed sized rows.
henryboisdequin referenced this issue in henryboisdequin/rust Feb 1, 2021
…chenkov

Move some tests to more reasonable directories - 3

cc rust-lang#73494
r? ``@petrochenkov``

https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-56202.rs <sup>https://github.com/rust-lang/rust/issues/56202</sup>: traits 1.008
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-69841.rs <sup>https://github.com/rust-lang/rust/issues/69841</sup>: for-loop-while 1.014
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-10763.rs <sup>https://github.com/rust-lang/rust/issues/10763</sup>: extern 1.016
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-50599.rs <sup>https://github.com/rust-lang/rust/issues/50599</sup>: resolve 1.018
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-6128.rs <sup>https://github.com/rust-lang/rust/issues/6128</sup>: traits 1.043
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-20616-8.rs <sup>https://github.com/rust-lang/rust/issues/20616</sup>: parser 1.045
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-46553.rs <sup>https://github.com/rust-lang/rust/issues/46553</sup>: consts 1.081
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-33140-hack-boundaries.rs <sup>https://github.com/rust-lang/rust/issues/33140</sup>: traits 1.101
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-25826.rs <sup>https://github.com/rust-lang/rust/issues/25826</sup>: consts 1.108
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-56488.rs <sup>https://github.com/rust-lang/rust/issues/56488</sup>: traits 1.110
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-58856-1.rs <sup>https://github.com/rust-lang/rust/issues/58856</sup>: parser 1.133
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-57819.rs <sup>https://github.com/rust-lang/rust/issues/57819</sup>: parser 1.138
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-54348.rs <sup>https://github.com/rust-lang/rust/issues/54348</sup>: consts 1.155
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-14309.rs <sup>https://github.com/rust-lang/rust/issues/14309</sup>: lint 1.160
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-4446.rs <sup>https://github.com/rust-lang/rust/issues/4446</sup>: threads-sendsync 1.203
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-53675-a-test-called-panic.rs <sup>https://github.com/rust-lang/rust/issues/53675</sup>: test-attrs 1.211
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-40231-2.rs <sup>https://github.com/rust-lang/rust/issues/40231</sup>: consts 1.213
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-22037.rs <sup>https://github.com/rust-lang/rust/issues/22037</sup>: associated-types 1.214
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-59029-2.rs <sup>https://github.com/rust-lang/rust/issues/59029</sup>: traits 1.219
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-18425.rs <sup>https://github.com/rust-lang/rust/issues/18425</sup>: consts 1.237
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-6157.rs <sup>https://github.com/rust-lang/rust/issues/6157</sup>: regions 1.238
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-33819.rs <sup>https://github.com/rust-lang/rust/issues/33819</sup>: borrowck 1.280
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-3683.rs <sup>https://github.com/rust-lang/rust/issues/3683</sup>: traits 1.283
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-8709.rs <sup>https://github.com/rust-lang/rust/issues/8709</sup>: macros 1.291
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-20616-9.rs <sup>https://github.com/rust-lang/rust/issues/20616</sup>: parser 1.293
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-64732.rs <sup>https://github.com/rust-lang/rust/issues/64732</sup>: parser 1.296
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-18655.rs <sup>https://github.com/rust-lang/rust/issues/18655</sup>: associated-types 1.305
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-32947.rs <sup>https://github.com/rust-lang/rust/issues/32947</sup>: simd 1.322
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-57198.rs <sup>https://github.com/rust-lang/rust/issues/57198</sup>: parser 1.342
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-10764-rpass.rs <sup>https://github.com/rust-lang/rust/issues/10764</sup>: extern 1.392
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-73541-2.rs <sup>https://github.com/rust-lang/rust/issues/73541</sup>: async-await 1.422
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-7970b.rs <sup>https://github.com/rust-lang/rust/issues/7970</sup>: parser 1.439
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-57684.rs <sup>https://github.com/rust-lang/rust/issues/57684</sup>: parser 1.512
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-33264.rs <sup>https://github.com/rust-lang/rust/issues/33264</sup>: llvm-asm 1.523
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-65284-suggest-generic-trait-bound.rs <sup>https://github.com/rust-lang/rust/issues/65284</sup>: suggestions 1.647
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-17458.rs <sup>https://github.com/rust-lang/rust/issues/17458</sup>: consts 1.711
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-56762.rs <sup>https://github.com/rust-lang/rust/issues/56762</sup>: consts 1.787
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-2216.rs <sup>https://github.com/rust-lang/rust/issues/2216</sup>: for-loop-while 1.856
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-45696-scribble-on-boxed-borrow.rs <sup>https://github.com/rust-lang/rust/issues/45696</sup>: nll 2.009
https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-46036.rs <sup>https://github.com/rust-lang/rust/issues/46036</sup>: nll 2.059

``@petrochenkov`` Can you put a place holder (like `N/A`) for tests without GitHub issues? It is a lot easier to parse fixed sized rows.
bors added a commit to rust-lang-ci/rust that referenced this issue Sep 22, 2022
rustup

Locally I see lots of new clippy failures, but did clippy really add a bunch of new lints recently?
celinval pushed a commit to celinval/rust-dev that referenced this issue Jun 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests