dimsuz
06/22/2023, 4:10 PMvalue class@Immutable@Immutabledata class@Immutableandroidx.compose.runtimeAlbert Chang
06/22/2023, 4:26 PMAlbert Chang
06/22/2023, 4:26 PMephemient
06/22/2023, 7:15 PMdimsuz
06/22/2023, 10:00 PMUsing a value class is the same as using the wrapped type from the compiler's perspective, so the stability depends on the wrapped type.Hmm, but according to the issue I've linked this seems not to work atm.
dimsuz
06/22/2023, 10:01 PMnote that the annotation alone isn't enoughoh, that's news for me. Then it seems I won't get it to work even with Albert's suggestion to use jb-compose...
Stylianos Gakis
06/22/2023, 10:03 PMdimsuz
06/23/2023, 10:03 AMid("org.jetbrains.compose") version "1.4.0"buildFeatures.composeStylianos Gakis
06/23/2023, 10:13 AMdimsuz
06/23/2023, 10:34 AMAndrey Kulikov
06/27/2023, 12:44 PMdimsuz
06/27/2023, 1:08 PMABBB@Immutable@StableAStylianos Gakis
06/27/2023, 1:10 PMAlbert Chang
06/27/2023, 1:20 PMStylianos Gakis
06/27/2023, 1:24 PMAlbert Chang
06/27/2023, 1:30 PMStylianos Gakis
06/27/2023, 1:36 PMdimsuz
06/27/2023, 8:52 PMcompose.runtime@Immutableinterface MutableData@Immutabledata class ViewState(val a: Int, val b: MutableData)@Composable
fun Screen(state: ViewState) {
  Widget(state.b)
}
@Composable
fun Widget(b: MutableData) {
  Log.d("tag", "recmposition")
}state.abStylianos Gakis
06/27/2023, 8:59 PMdimsuz
06/27/2023, 9:02 PMTash
07/12/2023, 10:14 PM@Immutableunstable class ViewState {
  stable val a: Int
  unstable val b: MutableData
  <runtime stability> = Unstable
}@Immutablestable class ViewState {
  stable val a: Int
  stable val b: MutableData
  <runtime stability> = Stable
}Albert Chang
07/13/2023, 9:59 AMStylianos Gakis
07/13/2023, 10:15 AM