Animation does not work with List, while works with ScrollView + ForEach

Why there is a working animation with ScrollView + ForEach of items removal, but there is none with List?

ScrollView + ForEach:

struct ContentView: View {
    @State var items: [String] = Array(1...5).map(\.description)
    
    var body: some View {
        ScrollView(.vertical) {
            ForEach(items, id: \.self) { item in
                Text(String(item))
                    .frame(maxWidth: .infinity, minHeight: 50)
                    .background(.gray)
                    .onTapGesture {
                        withAnimation(.linear(duration: 0.1)) {
                            items = items.filter { $0 != item }
                        }
                    }
            }
        }
    }
}

List:

struct ContentView: View {
    @State var items: [String] = Array(1...5).map(\.description)
    
    var body: some View {
        List(items, id: \.self) { item in
            Text(String(item))
                .frame(maxWidth: .infinity, minHeight: 50)
                .background(.gray)
                .onTapGesture {
                    withAnimation(.linear(duration: 0.1)) {
                        items = items.filter { $0 != item }
                    }
                }
        }
    }
}```


List:

I uploaded this Gif with the post, but for some reason it's not in the published post.

@Kopyl Our engineering teams need to investigate this issue, as resolution may involve changes to Apple's software. I'd greatly appreciate it if you could open a bug report, include a focus sample project and post the FB number here once you do. Bug Reporting: How and Why? has tips on creating your bug report.

@DTS Engineer I opened a few bug reports and none was answered.

Let me know if you want to hire me as a QA Engineer. Otherwise go create the report yourself.

@Kopyl I tested with longer duration (3.0) and the difference is crystal clear.

I have a real answer, but it is apparently a known issue with List https://stackoverflow.com/questions/74253108/why-is-animation-not-working-in-a-list-but-is-working-in-vstack

List manages its own scrolling (List has an implicit ScrollView (as does Form)), making it pretty inflexible for defining behaviour for animation and forcing to use ScrollView instead.

May also read this: https://stackoverflow.com/questions/76418666/swiftui-list-animations-are-not-smooth-when-adding-elements-to-a-vstack-in-a-lis

Animation does not work with List, while works with ScrollView + ForEach
 
 
Q