could not find implicit value for evidence parameter of type org.apache.flink.api.common.typeinfo.TypeInformation[...] : <p>I am trying to write some use cases for Apache Flink. One error I run into pretty often is</p>

<pre><code>could not find implicit value for evidence parameter of type org.apache.flink.api.common.typeinfo.TypeInformation[SomeType]
</code></pre>

<p>My problem is that I cant really nail down when they happen and when they dont.</p>

<p>The most recent example of this would be the following</p>

<pre><code>...
val largeJoinDataGen = new LargeJoinDataGen(dataSetSize, dataGen, hitRatio)
val see = StreamExecutionEnvironment.getExecutionEnvironment
val newStreamInput = see.addSource(largeJoinDataGen)
...
</code></pre>

<p>where <code>LargeJoinDataGen extends GeneratorSource[(Int, String)]</code> and <code>GeneratorSource[T] extends SourceFunction[T]</code>, both defined in separate files.</p>

<p>When trying to build this I get</p>

<pre><code>Error:(22, 39) could not find implicit value for evidence parameter of type org.apache.flink.api.common.typeinfo.TypeInformation[(Int, String)]
val newStreamInput = see.addSource(largeJoinDataGen)
</code></pre>

<p><strong>1. Why is there an error in the given example?</strong></p>

<p><strong>2. What would be a general guideline when these errors happen and how to avoid them in the future?</strong></p>

<p>P.S.: first scala project and first flink project so please be patient</p>
