Skip to content

Instantly share code, notes, and snippets.

@bclymer
Last active February 16, 2016 19:18

Revisions

  1. bclymer revised this gist Feb 16, 2016. 1 changed file with 6 additions and 1 deletion.
    7 changes: 6 additions & 1 deletion KotlinRxBug.kt
    Original file line number Diff line number Diff line change
    @@ -3,7 +3,12 @@ import rx.Observable
    data class TestUser(val name: String)

    fun getTestUser(): Observable<TestUser> {
    return Observable.just(TestUser("Brian")).flatMap { getUser() }
    return Observable.just(TestUser("Brian")).flatMap { getUser() } // this compiles
    }

    fun getTestUser2(): Observable<TestUser> {
    val observable = Observable.just(TestUser("Brian")).flatMap { getUser() }
    return observable // this does not compile
    }

    fun getUser(): Observable<TestUser?> {
  2. bclymer revised this gist Feb 16, 2016. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion KotlinRxBug.kt
    Original file line number Diff line number Diff line change
    @@ -7,5 +7,5 @@ fun getTestUser(): Observable<TestUser> {
    }

    fun getUser(): Observable<TestUser?> {
    return Observable.empty()
    return Observable.just(null)
    }
  3. bclymer created this gist Feb 16, 2016.
    11 changes: 11 additions & 0 deletions KotlinRxBug.kt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,11 @@
    import rx.Observable

    data class TestUser(val name: String)

    fun getTestUser(): Observable<TestUser> {
    return Observable.just(TestUser("Brian")).flatMap { getUser() }
    }

    fun getUser(): Observable<TestUser?> {
    return Observable.empty()
    }