From c26641e95de9b28b5d67c55c350a2650614c2a94 Mon Sep 17 00:00:00 2001
From: Bob Nystrom <rnystrom@google.com>
Date: Wed, 8 Nov 2017 13:56:12 -0800
Subject: [PATCH] Fix fuzzy arrow warnings.

These will become an error in Dart 2.0. Context here:

  https://github.com/dart-lang/sdk/issues/29630

I also went ahead and fixed a few other minor warnings while I was in
here.
---
 .analysis_options => analysis_options.yaml | 0
 lib/src/auto_observable.dart               | 3 +--
 lib/src/dirty_check.dart                   | 1 -
 lib/src/path_observer.dart                 | 2 +-
 pubspec.yaml                               | 2 +-
 test/path_observer_test.dart               | 3 +--
 6 files changed, 4 insertions(+), 7 deletions(-)
 rename .analysis_options => analysis_options.yaml (100%)

diff --git a/.analysis_options b/analysis_options.yaml
similarity index 100%
rename from .analysis_options
rename to analysis_options.yaml
diff --git a/lib/src/auto_observable.dart b/lib/src/auto_observable.dart
index 2fae812..ab0b10b 100644
--- a/lib/src/auto_observable.dart
+++ b/lib/src/auto_observable.dart
@@ -127,8 +127,7 @@ abstract class AutoObservable implements ChangeNotifier {
   ///
   /// For convenience this returns [newValue].
   @override
-  /*=T*/ notifyPropertyChange/*<T>*/(
-      Symbol field, /*=T*/ oldValue, /*=T*/ newValue) {
+  T notifyPropertyChange<T>(Symbol field, T oldValue, T newValue) {
     if (hasObservers && oldValue != newValue) {
       notifyChange(new PropertyChangeRecord(this, field, oldValue, newValue));
     }
diff --git a/lib/src/dirty_check.dart b/lib/src/dirty_check.dart
index 169c6bd..613dda6 100644
--- a/lib/src/dirty_check.dart
+++ b/lib/src/dirty_check.dart
@@ -14,7 +14,6 @@ library observe.src.dirty_check;
 
 import 'dart:async';
 
-import 'package:func/func.dart';
 import 'package:logging/logging.dart';
 import 'package:observable/observable.dart' as obs show Observable;
 
diff --git a/lib/src/path_observer.dart b/lib/src/path_observer.dart
index a8e7868..c245227 100644
--- a/lib/src/path_observer.dart
+++ b/lib/src/path_observer.dart
@@ -869,7 +869,7 @@ class _ObservedSet {
     if (obj is Observable) _observeStream(obj.changes);
   }
 
-  void _observeStream(Stream stream) {
+  void _observeStream(Stream<List<ChangeRecord>> stream) {
     // TODO(jmesserly): we hash on streams as we have two separate change
     // streams for ObservableList. Not sure if that is the design we will use
     // going forward.
diff --git a/pubspec.yaml b/pubspec.yaml
index 415d202..d106896 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: observe
-version: 0.15.2
+version: 0.15.2+1
 author: Polymer.dart Authors <web-ui-dev@dartlang.org>
 description: >
   Observable properties and objects for use in template_binding.
diff --git a/test/path_observer_test.dart b/test/path_observer_test.dart
index db8037d..665cd06 100644
--- a/test/path_observer_test.dart
+++ b/test/path_observer_test.dart
@@ -779,8 +779,7 @@ class TestModel extends ChangeNotifier implements WatcherModel {
   }
 
   @override
-  /*=T*/ notifyPropertyChange/*<T>*/(
-      Symbol field, /*=T*/ oldValue, /*=T*/ newValue) {
+  T notifyPropertyChange<T>(Symbol field, T oldValue, T newValue) {
     if (hasObservers && oldValue != newValue) {
       notifyChange(new PropertyChangeRecord(this, field, oldValue, newValue));
     }