Kotlin Abstract Protected Property
<p>If I have the following class hierarchy:    </p>

<pre><code>abstract class Foo&lt;out T : Bar&gt;() {
  abstract protected val thing: T
}

class Baz : Foo&lt;BarImpl&gt; {
  override protected val thing: T = ...
}
</code></pre>

<p>I get a warning on Baz::thing saying:</p>

<blockquote>
  <p>Redundant visibility modifier</p>
</blockquote>

<p>Does that mean the compiler treats it as protected without you needing to specify that, or that it has to be public?</p>