Alexandre Ardhuin
Alexandre Ardhuin
Some additional feedbacks from my experiment with this lint on Flutter (personal thought: I'm now rather against this lint) : ### Transitivity issues Here's a example of diff after implementing...
From my [previous example](https://github.com/dart-lang/linter/issues/3391#issuecomment-1154905059) on `consolidate_response.dart` that exports `HttpClientResponse` and `Uint8List` (in its direct public API): [Uint8List](https://api.flutter.dev/flutter/dart-typed_data/Uint8List-class.html) has a constructor [`Uint8List.view(ByteBuffer buffer, [int offsetInBytes = 0, int? length])`](https://api.flutter.dev/flutter/dart-typed_data/Uint8List/Uint8List.view.html) and [ByteBuffer](https://api.flutter.dev/flutter/dart-typed_data/ByteBuffer-class.html)...
> ...I would argue that since it returns a Uint8List we don't care about Uint8List's constructor... Interesting! I'm now wondering what was your initial problem that makes you request such...
> The usual motivation for me is things like calling `paintZigZag` and needing to pass an `Offset` and `Paint` and `Canvas` but finding I don't have any of those APIs...
>I think there's value in this lint even if it's just one layer deep (i.e. not transitive). The PRs you landed in the Flutter framework were all improvements, IMHO. If...
Regarding the following case: ```dart List x; List y = x; ``` what should be do for `dynamic`? ```dart List x; List y = x; // OK or not for...
An other question about inheritance/implementation: is the following code legal regarding voidness? ```dart abstract class A { List m1(); List m2(); List m3(); } class B extends A { @override...
I meant _library dependency graph_.
One potentially issue is that it changes function's behaviour regarding exceptions. For instance: ```dart import 'dart:async'; void f1 () { throw Error(); } Future f2 () => Future.value(1); Future f3()...
Even removing async from `f7` could not be safe depending on `f2`. For instance: ```dart Future f2 () { if (cond) throw Error(); return Future.value(1); } ``` Exceptions/errors make it...