// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. import 'package:expect/expect.dart'; class Foo { capture() { return () { return this; }; } captureFirst(a, b) { return () { print(a); return this; }; } captureLast(a, b) { return () { print(b); return this; }; } } main() { var foo = new Foo(); Expect.isTrue(identical(foo, (foo.capture())())); Expect.isTrue(identical(foo, (foo.captureFirst(1, 2))())); Expect.isTrue(identical(foo, (foo.captureLast(1, 2))())); }