aboutsummaryrefslogtreecommitdiff
path: root/website/templates/features/experimental
diff options
context:
space:
mode:
authorReinier Zwitserloot <reinier@zwitserloot.com>2018-02-06 22:12:42 +0100
committerReinier Zwitserloot <reinier@zwitserloot.com>2018-02-07 00:01:22 +0100
commit66469e04fe35e5ceb3723cb563379a03e4883101 (patch)
treea457e2973556c795a7879279b9c39f4ed5f7cb42 /website/templates/features/experimental
parent55bcc142d08ac8a4de0c3965333e3816c496799f (diff)
downloadlombok-66469e04fe35e5ceb3723cb563379a03e4883101.tar.gz
lombok-66469e04fe35e5ceb3723cb563379a03e4883101.tar.bz2
lombok-66469e04fe35e5ceb3723cb563379a03e4883101.zip
[var] various upgrades to var:
* var is promoted to the main package. * It is no longer an opt-in thing. * bug: var (unlike val) is allowed in old-style for loops, but if you multi-init: for (var i = 0, j="Foo";;), you now get an error that you can't do that. * tests both for the multi-for situation and the new main package variant.
Diffstat (limited to 'website/templates/features/experimental')
-rw-r--r--website/templates/features/experimental/var.html37
1 files changed, 0 insertions, 37 deletions
diff --git a/website/templates/features/experimental/var.html b/website/templates/features/experimental/var.html
deleted file mode 100644
index fa35ac5e..00000000
--- a/website/templates/features/experimental/var.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<#import "../_features.html" as f>
-
-<@f.scaffold title="var" logline="Modifiable local variables with a type inferred by assigning value.">
- <@f.history>
- <p>
- <code>var</code> was introduced in lombok 1.16.12 as experimental feature.
- </p>
- </@f.history>
-
- <@f.experimental>
- <ul>
- <li>
- This feature is very controversial.
- </li><li>
- There is <a href="http://openjdk.java.net/jeps/286">JEP 286</a> that should make <code>var</code> obsolete.
- </li>
- </ul>
- Current status: <em>uncertain</em> – Currently we feel this feature cannot move out of experimental status.
- </@f.experimental>
-
- <@f.overview>
- <p>
- <code>var</code> works exactly like <a href="/features/val"><code>val</code></a>, except the local variable is <em>not</em> marked as <code>final</code>.
- </p><p>
- The type is still entirely derived from the mandatory initializer expression, and any further assignments, while now legal (because the variable is no longer <code>final</code>), aren't looked at to determine the appropriate type.<br />
- For example, <code>var x = "Hello"; x = Color.RED;</code> does <em>not</em> work; the type of x will be inferred to be <code>java.lang.String</code> and thus, the <code>x = Color.RED</code> assignment will fail. If the type of <code>x</code> was inferred to be <code>java.lang.Object</code> this code would have compiled, but that's not how<code>var</code> works.
- </p>
- </@f.overview>
-
- <@f.confKeys>
- <dt>
- <code>lombok.var.flagUsage</code> = [<code>warning</code> | <code>error</code>] (default: not set)
- </dt><dd>
- Lombok will flag any usage of <code>var</code> as a warning or error if configured.
- </dd>
- </@f.confKeys>
-</@f.scaffold>