title: could not find implicit value for evidence parameter of type org.apache.flink.api.common.typeinfo.TypeInformation[...]
body: <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>