--- /dev/null
+// Compiler options: -t:library
+
+using System;
+
+namespace TestNamespace
+{
+ public abstract class Stream : IDisposable
+ {
+ public void Dispose ()
+ {
+ Dispose(true);
+ }
+
+ protected virtual void Dispose (bool disposing)
+ {
+ }
+ }
+
+ public class NonClosingStream
+ : TestNamespace.Stream, IDisposable
+ {
+ void IDisposable.Dispose()
+ {
+ }
+ }
+}
--- /dev/null
+// Compiler options: -r:test-738-lib.dll
+
+using System;
+
+namespace TestNamespace
+{
+ public class ResumableInputStream
+ {
+ public ResumableInputStream()
+ {
+ stream.Dispose();
+ }
+
+ private NonClosingStream stream;
+
+ public static void Main ()
+ {
+ }
+ }
+}
+
--- /dev/null
+// Compiler options: -warnaserror
+
+using System;
+using System.Reflection;
+
+sealed class X
+{
+ ~X ()
+ {
+ Foo ();
+ }
+
+ public void Foo ()
+ {
+ }
+
+ public static int Main ()
+ {
+ foreach (var m in typeof (X).GetMethods (BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.DeclaredOnly)) {
+ Console.WriteLine (m.Name);
+ Console.WriteLine (m.Attributes);
+ if (m.Attributes != (MethodAttributes.Virtual | MethodAttributes.Family | MethodAttributes.HideBySig))
+ return 1;
+ }
+
+ return 0;
+ }
+}
</method>
</type>
</test>
+ <test name="test-737.cs">
+ <type name="Breaks">
+ <method name="Double get_Item(Int32, Int32)">
+ <size>7</size>
+ </method>
+ <method name="Void set_Item(Int32, Int32, Double)">
+ <size>8</size>
+ </method>
+ <method name="Void .ctor(Double)">
+ <size>8</size>
+ </method>
+ </type>
+ <type name="Tester">
+ <method name="Int32 Main()">
+ <size>80</size>
+ </method>
+ <method name="Void .ctor()">
+ <size>7</size>
+ </method>
+ </type>
+ </test>
+ <test name="test-738.cs">
+ <type name="TestNamespace.ResumableInputStream">
+ <method name="Void Main()">
+ <size>1</size>
+ </method>
+ <method name="Void .ctor()">
+ <size>18</size>
+ </method>
+ </type>
+ </test>
+ <test name="test-739.cs">
+ <type name="X">
+ <method name="Void Finalize()">
+ <size>19</size>
+ </method>
+ <method name="Void Foo()">
+ <size>1</size>
+ </method>
+ <method name="Int32 Main()">
+ <size>89</size>
+ </method>
+ <method name="Void .ctor()">
+ <size>7</size>
+ </method>
+ </type>
+ </test>
<test name="test-74.cs">
<type name="X">
<method name="Void .ctor()">