Joshua Nelson
345c42a2d6
Stabilize #![feature(label_break_value)]
# Stabilization proposal
The feature was implemented in https://github.com/rust-lang/rust/pull/50045 by est31 and has been in nightly since 2018-05-16 (over 4 years now).
There are [no open issues][issue-label] other than the tracking issue. There is a strong consensus that `break` is the right keyword and we should not use `return`.
There have been several concerns raised about this feature on the tracking issue (other than the one about tests, which has been fixed, and an interaction with try blocks, which has been fixed).
1. nrc's original comment about cost-benefit analysis: https://github.com/rust-lang/rust/issues/48594#issuecomment-422235234
2. joshtriplett's comments about seeing use cases: https://github.com/rust-lang/rust/issues/48594#issuecomment-422281176
3. withoutboats's comments that Rust does not need more control flow constructs: https://github.com/rust-lang/rust/issues/48594#issuecomment-450050630
Many different examples of code that's simpler using this feature have been provided:
- A lexer by rpjohnst which must repeat code without label-break-value: https://github.com/rust-lang/rust/issues/48594#issuecomment-422502014
- A snippet by SergioBenitez which avoids using a new function and adding several new return points to a function: https://github.com/rust-lang/rust/issues/48594#issuecomment-427628251. This particular case would also work if `try` blocks were stabilized (at the cost of making the code harder to optimize).
- Several examples by JohnBSmith: https://github.com/rust-lang/rust/issues/48594#issuecomment-434651395
- Several examples by Centril: https://github.com/rust-lang/rust/issues/48594#issuecomment-440154733
- An example by petrochenkov where this is used in the compiler itself to avoid duplicating error checking code: https://github.com/rust-lang/rust/issues/48594#issuecomment-443557569
- Amanieu recently provided another example related to complex conditions, where try blocks would not have helped: https://github.com/rust-lang/rust/issues/48594#issuecomment-1184213006
Additionally, petrochenkov notes that this is strictly more powerful than labelled loops due to macros which accidentally exit a loop instead of being consumed by the macro matchers: https://github.com/rust-lang/rust/issues/48594#issuecomment-450246249
nrc later resolved their concern, mostly because of the aforementioned macro problems.
joshtriplett suggested that macros could be able to generate IR directly
(https://github.com/rust-lang/rust/issues/48594#issuecomment-451685983) but there are no open RFCs,
and the design space seems rather speculative.
joshtriplett later resolved his concerns, due to a symmetry between this feature and existing labelled break: https://github.com/rust-lang/rust/issues/48594#issuecomment-632960804
withoutboats has regrettably left the language team.
joshtriplett later posted that the lang team would consider starting an FCP given a stabilization report: https://github.com/rust-lang/rust/issues/48594#issuecomment-1111269353
[issue-label]: https://github.com/rust-lang/rust/issues?q=is%3Aissue+is%3Aopen+label%3AF-label_break_value+
## Report
+ Feature gate:
- d695a497bb/src/test/ui/feature-gates/feature-gate-label_break_value.rs
+ Diagnostics:
- 6b2d3d5f3c/compiler/rustc_parse/src/parser/diagnostics.rs (L2629)
- f65bf0b2bb/compiler/rustc_resolve/src/diagnostics.rs (L749)
- f65bf0b2bb/compiler/rustc_resolve/src/diagnostics.rs (L1001)
- 111df9e6ed/compiler/rustc_passes/src/loops.rs (L254)
- d695a497bb/compiler/rustc_parse/src/parser/expr.rs (L2079)
- d695a497bb/compiler/rustc_parse/src/parser/expr.rs (L1569)
+ Tests:
- https://github.com/rust-lang/rust/blob/master/src/test/ui/label/label_break_value_continue.rs
- https://github.com/rust-lang/rust/blob/master/src/test/ui/label/label_break_value_unlabeled_break.rs
- https://github.com/rust-lang/rust/blob/master/src/test/ui/label/label_break_value_illegal_uses.rs
- https://github.com/rust-lang/rust/blob/master/src/test/ui/lint/unused_labels.rs
- https://github.com/rust-lang/rust/blob/master/src/test/ui/run-pass/for-loop-while/label_break_value.rs
## Interactions with other features
Labels follow the hygiene of local variables.
label-break-value is permitted within `try` blocks:
```rust
let _: Result<(), ()> = try {
'foo: {
Err(())?;
break 'foo;
}
};
```
label-break-value is disallowed within closures, generators, and async blocks:
```rust
'a: {
|| break 'a
//~^ ERROR use of unreachable label `'a`
//~| ERROR `break` inside of a closure
}
```
label-break-value is disallowed on [_BlockExpression_]; it can only occur as a [_LoopExpression_]:
```rust
fn labeled_match() {
match false 'b: { //~ ERROR block label not supported here
_ => {}
}
}
macro_rules! m {
($b:block) => {
'lab: $b; //~ ERROR cannot use a `block` macro fragment here
unsafe $b; //~ ERROR cannot use a `block` macro fragment here
|x: u8| -> () $b; //~ ERROR cannot use a `block` macro fragment here
}
}
fn foo() {
m!({});
}
```
[_BlockExpression_]: https://doc.rust-lang.org/nightly/reference/expressions/block-expr.html
[_LoopExpression_]: https://doc.rust-lang.org/nightly/reference/expressions/loop-expr.html
2022-08-23 21:14:12 -05:00
..
2022-01-21 07:48:10 -06:00
2022-07-18 09:39:37 +02:00
2022-08-03 12:17:23 +02:00
2022-07-18 09:39:37 +02:00
2022-06-30 10:50:09 +02:00
2022-05-21 13:24:00 +02:00
2022-08-11 19:42:16 +02:00
2022-07-28 19:08:22 +02:00
2022-07-28 19:08:22 +02:00
2022-03-16 20:12:30 +08:00
2022-08-11 19:42:16 +02:00
2021-12-30 15:10:43 +01:00
2022-06-04 13:34:07 +02:00
2022-06-30 10:50:09 +02:00
2022-05-21 13:24:00 +02:00
2022-03-14 12:02:53 +01:00
2022-03-14 12:02:53 +01:00
2022-06-16 17:39:06 +02:00
2022-06-16 17:39:06 +02:00
2022-06-16 17:39:06 +02:00
2022-07-28 19:08:22 +02:00
2022-07-28 19:08:22 +02:00
2022-01-13 13:18:19 +01:00
2022-01-13 13:18:19 +01:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-05-05 15:12:52 +01:00
2022-01-13 13:18:19 +01:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-05-21 13:24:00 +02:00
2022-07-28 19:08:22 +02:00
2022-07-28 19:08:22 +02:00
2022-07-28 19:08:22 +02:00
2022-06-16 17:39:06 +02:00
2022-06-16 17:39:06 +02:00
2022-02-26 14:26:21 +01:00
2022-02-26 14:26:21 +01:00
2022-02-26 14:26:21 +01:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-16 18:00:32 +04:00
2021-12-17 13:40:22 +01:00
2022-01-13 13:18:19 +01:00
2022-01-13 13:18:19 +01:00
2022-01-13 13:18:19 +01:00
2022-01-13 13:18:19 +01:00
2022-01-13 13:18:19 +01:00
2022-01-13 13:18:19 +01:00
2022-08-11 19:42:16 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-08-11 19:42:16 +02:00
2022-07-18 09:39:37 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-01-27 15:12:45 +01:00
2022-01-27 15:12:45 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-03-26 15:37:48 +01:00
2022-03-26 15:37:48 +01:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-05-05 15:12:52 +01:00
2022-04-08 10:06:10 +01:00
2022-03-24 14:50:04 +01:00
2022-03-24 14:50:04 +01:00
2022-01-13 13:18:19 +01:00
2022-07-18 09:39:37 +02:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-06-16 17:39:06 +02:00
2022-06-16 17:39:06 +02:00
2022-05-21 13:24:00 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-05-21 13:24:00 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-06-16 17:39:06 +02:00
2022-06-16 17:39:06 +02:00
2022-06-16 17:39:06 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-02-10 18:40:06 +01:00
2022-02-10 18:40:06 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-01-13 13:18:19 +01:00
2022-01-13 13:18:19 +01:00
2022-01-13 13:18:19 +01:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-05-21 13:24:00 +02:00
2022-07-01 17:39:19 +02:00
2022-07-01 17:39:19 +02:00
2022-06-16 17:39:06 +02:00
2022-06-16 17:39:06 +02:00
2022-06-16 17:39:06 +02:00
2022-07-13 18:31:29 -04:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-07-19 03:07:54 +00:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-05-05 15:12:52 +01:00
2022-04-08 10:06:10 +01:00
2022-01-27 15:12:45 +01:00
2022-01-27 15:12:45 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-06-04 14:04:35 +02:00
2022-06-04 14:04:35 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-06-16 18:00:32 +04:00
2022-06-16 18:00:32 +04:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-06-16 15:51:12 +03:00
2022-01-13 13:18:19 +01:00
2022-02-10 18:40:06 +01:00
2022-02-10 18:40:06 +01:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-01-13 13:18:19 +01:00
2022-01-13 13:18:19 +01:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-06-16 17:39:06 +02:00
2022-06-16 17:39:06 +02:00
2022-05-05 15:12:52 +01:00
2022-02-10 18:40:06 +01:00
2022-02-10 18:40:06 +01:00
2022-02-10 18:40:06 +01:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-02-10 18:40:06 +01:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-02-10 18:40:06 +01:00
2022-02-10 18:40:06 +01:00
2022-02-10 18:40:06 +01:00
2022-03-14 12:02:53 +01:00
2022-03-14 12:02:53 +01:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-07-19 03:07:54 +00:00
2021-12-30 15:10:43 +01:00
2021-12-30 15:10:43 +01:00
2021-12-30 15:10:43 +01:00
2022-04-08 10:06:10 +01:00
2022-01-27 15:12:45 +01:00
2022-01-27 15:12:45 +01:00
2022-01-27 15:12:45 +01:00
2022-06-16 17:39:06 +02:00
2022-06-16 17:39:06 +02:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-08-03 12:17:23 +02:00
2022-08-03 12:17:23 +02:00
2022-08-03 12:17:23 +02:00
2022-08-03 12:17:23 +02:00
2022-08-03 12:17:23 +02:00
2022-05-21 13:24:00 +02:00
2022-01-17 13:29:07 +01:00
2022-01-17 13:29:07 +01:00
2021-12-13 17:09:16 +00:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-05-21 13:24:00 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-07-18 09:39:37 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-06-30 10:50:09 +02:00
2022-08-11 19:42:16 +02:00
2022-05-05 15:12:52 +01:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-04-08 10:06:10 +01:00
2022-05-05 14:27:11 +01:00
2022-05-21 13:24:00 +02:00
2022-05-21 13:24:00 +02:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-01-13 13:18:19 +01:00
2022-07-19 03:07:54 +00:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-01-17 13:29:07 +01:00
2022-01-13 13:18:19 +01:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-06-16 17:39:06 +02:00
2022-06-16 17:39:06 +02:00
2022-06-16 17:39:06 +02:00
2021-12-30 15:10:43 +01:00
2021-12-30 15:10:43 +01:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2021-12-30 15:10:43 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-03-14 12:02:53 +01:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-08-11 19:42:16 +02:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-04-08 10:06:10 +01:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-08-11 19:42:16 +02:00
2022-02-10 18:40:06 +01:00
2022-08-11 19:42:16 +02:00
2022-02-10 18:40:06 +01:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-06-16 18:00:32 +04:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-06-16 17:39:06 +02:00
2022-06-16 17:39:06 +02:00
2022-06-16 17:39:06 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-06-16 15:51:12 +03:00
2022-05-21 13:24:00 +02:00
2022-05-21 13:24:00 +02:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-05-21 13:24:00 +02:00
2022-05-21 13:24:00 +02:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-03-24 14:50:04 +01:00
2022-06-19 23:21:14 +04:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-06-16 15:51:12 +03:00
2022-02-26 14:26:21 +01:00
2022-02-26 14:26:21 +01:00
2022-02-26 14:26:21 +01:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-08-11 19:42:16 +02:00
2022-03-24 14:50:04 +01:00
2022-03-24 14:50:04 +01:00
2022-05-21 13:24:00 +02:00
2022-05-21 13:24:00 +02:00
2022-05-21 13:24:00 +02:00
2022-05-21 13:24:00 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-08-11 19:42:16 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-08-11 19:42:16 +02:00
2022-06-04 13:34:07 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-04-08 10:06:10 +01:00
2022-01-13 13:18:19 +01:00
2022-03-14 12:02:53 +01:00
2022-03-14 12:02:53 +01:00
2022-03-14 12:02:53 +01:00
2022-03-14 12:02:53 +01:00
2022-03-14 12:02:53 +01:00
2022-03-14 12:02:53 +01:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-05-21 13:24:00 +02:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-08-03 12:17:23 +02:00
2022-08-03 12:17:23 +02:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-01-13 13:18:19 +01:00
2022-01-13 13:18:19 +01:00
2022-04-08 10:06:10 +01:00
2022-06-30 10:50:09 +02:00
2022-07-28 19:08:22 +02:00
2022-07-28 19:08:22 +02:00
2022-07-28 19:08:22 +02:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-06-16 18:00:32 +04:00
2022-07-16 20:17:58 -03:00
2022-07-16 20:17:58 -03:00
2022-07-16 20:17:58 -03:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-04-08 10:06:10 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-06-16 17:39:06 +02:00
2022-06-16 17:39:06 +02:00
2022-06-16 17:39:06 +02:00
2022-07-01 17:39:19 +02:00
2022-01-27 15:12:45 +01:00
2022-01-27 15:12:45 +01:00
2022-01-27 15:12:45 +01:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-06-16 17:39:06 +02:00
2022-07-18 09:39:37 +02:00
2022-06-16 18:00:32 +04:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-05-05 15:12:52 +01:00
2022-02-01 10:13:32 +01:00
2022-02-01 10:13:32 +01:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-08-03 12:17:23 +02:00
2022-08-03 12:17:23 +02:00
2022-08-03 12:17:23 +02:00
2022-07-28 19:08:22 +02:00
2022-07-28 19:08:22 +02:00
2022-07-28 19:08:22 +02:00
2022-03-14 12:02:53 +01:00
2022-03-14 12:02:53 +01:00
2022-08-11 19:42:16 +02:00
2022-01-27 15:12:45 +01:00
2022-08-03 12:17:23 +02:00
2022-08-03 12:17:23 +02:00
2022-08-03 12:17:23 +02:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-05-05 15:12:52 +01:00
2022-07-18 09:39:37 +02:00
2022-01-17 13:29:07 +01:00
2022-07-18 09:39:37 +02:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-03-24 14:50:04 +01:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-01-13 13:18:19 +01:00
2022-01-13 13:18:19 +01:00
2022-05-05 15:12:52 +01:00
2022-04-08 10:06:10 +01:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-02-26 14:26:21 +01:00
2022-02-26 14:26:21 +01:00
2022-06-16 15:51:12 +03:00
2022-06-16 15:51:12 +03:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-02-26 14:26:21 +01:00
2022-02-26 14:26:21 +01:00
2022-02-26 14:26:21 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-03-14 12:02:53 +01:00
2022-03-14 12:02:53 +01:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-08-11 19:42:16 +02:00
2022-06-16 17:39:06 +02:00
2022-06-16 17:39:06 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-01-27 15:12:45 +01:00
2022-01-27 15:12:45 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-02-26 14:26:21 +01:00
2022-02-26 14:26:21 +01:00
2022-02-26 14:26:21 +01:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-06-30 10:50:09 +02:00
2022-06-16 17:39:06 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-05-05 15:12:52 +01:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-01-17 13:29:07 +01:00
2022-01-17 13:29:07 +01:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-04-08 10:06:10 +01:00
2022-07-18 09:39:37 +02:00
2022-06-16 17:39:06 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-01-27 15:12:45 +01:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-05-21 13:24:00 +02:00
2022-08-23 21:14:12 -05:00
2022-08-23 21:14:12 -05:00
2022-06-04 13:34:07 +02:00
2022-07-18 09:39:37 +02:00
2021-12-30 15:10:43 +01:00
2021-12-30 15:10:43 +01:00
2022-07-18 09:39:37 +02:00
2022-06-30 10:50:09 +02:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-03-24 14:50:04 +01:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-02-26 14:26:21 +01:00
2022-06-30 10:50:09 +02:00
2022-08-11 19:42:16 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-05-05 15:12:52 +01:00
2022-02-10 18:40:06 +01:00
2022-02-10 18:40:06 +01:00
2022-02-10 18:40:06 +01:00
2022-07-28 19:08:22 +02:00
2022-07-28 19:08:22 +02:00
2022-05-05 15:12:52 +01:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-01-13 13:18:19 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-05-05 15:12:52 +01:00
2022-01-13 13:18:19 +01:00
2022-01-13 13:18:19 +01:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-06-04 13:34:07 +02:00
2022-03-24 14:50:04 +01:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-03-24 14:50:04 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-08-11 19:42:16 +02:00
2022-06-30 10:50:09 +02:00
2021-12-17 13:40:22 +01:00
2021-12-17 13:40:22 +01:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2022-05-21 13:24:00 +02:00
2022-05-21 13:24:00 +02:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-03-14 12:02:53 +01:00
2022-03-14 12:02:53 +01:00
2022-03-14 12:02:53 +01:00
2022-03-14 12:02:53 +01:00
2021-12-17 13:40:22 +01:00
2021-12-17 13:40:22 +01:00
2022-06-16 15:51:12 +03:00
2022-03-24 14:50:04 +01:00
2022-03-24 14:50:04 +01:00
2022-03-24 14:50:04 +01:00
2022-03-24 14:50:04 +01:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-03-14 12:02:53 +01:00
2022-03-14 12:02:53 +01:00
2022-03-14 12:02:53 +01:00
2022-05-21 13:24:00 +02:00
2022-05-21 13:24:00 +02:00
2022-06-16 15:51:12 +03:00
2022-06-16 18:00:32 +04:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-08-03 12:17:23 +02:00
2022-08-03 12:17:23 +02:00
2022-08-03 12:17:23 +02:00
2022-04-08 10:06:10 +01:00
2022-04-08 10:06:10 +01:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-01-13 13:18:19 +01:00
2022-01-13 13:18:19 +01:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-07-28 19:08:22 +02:00
2022-04-17 11:03:34 +02:00
2022-08-11 19:42:16 +02:00
2022-08-11 19:42:16 +02:00
2021-12-30 15:10:43 +01:00
2021-12-30 15:10:43 +01:00
2021-12-30 15:10:43 +01:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-06-04 13:34:07 +02:00
2022-08-11 19:42:16 +02:00
2022-07-07 19:30:37 +00:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-05-21 13:24:00 +02:00
2022-05-21 13:24:00 +02:00
2022-05-21 13:24:00 +02:00
2022-05-21 13:24:00 +02:00
2022-01-13 13:18:19 +01:00
2022-01-13 13:18:19 +01:00
2022-06-30 10:50:09 +02:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-07-18 09:39:37 +02:00
2022-05-05 15:12:52 +01:00
2022-01-27 15:12:45 +01:00
2022-06-16 15:51:12 +03:00
2022-01-27 15:12:45 +01:00
2022-06-16 15:51:12 +03:00
2022-01-27 15:12:45 +01:00
2022-06-16 15:51:12 +03:00
2022-01-27 15:12:45 +01:00
2022-01-27 15:12:45 +01:00
2022-01-27 15:12:45 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-05-05 15:12:52 +01:00
2022-06-30 10:50:09 +02:00
2022-06-30 10:50:09 +02:00
2022-01-13 13:18:19 +01:00
2022-01-13 13:18:19 +01:00