         
         // This correctly fails to build
         
-        // let m2 = Measurement(value: 1, unit: BugUnit())
+        // let m2 = Measurement(value: 1, unit: BugUnit.bugs)
         // m2.converted(to: MyDimensionalUnit.unitKiloA)
     }
     


@available(OSX 10.12, iOS 10.0, watchOS 3.0, tvOS 10.0, *)
class BugUnit : Unit {
    override init() {
        super.init(symbol: "bug")
    }
    
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }
}

@available(OSX 10.12, iOS 10.0, watchOS 3.0, tvOS 10.0, *)

        expectEqual(6, m3.value)
        expectEqual(m1, m2)
        
        let m10 = Measurement(value: 2, unit: BugUnit.bugs)
        let m11 = Measurement(value: 2, unit: BugUnit.bugs)
        let m12 = Measurement(value: 3, unit: BugUnit.bugs)
        
        expectEqual(m10, m11)
        expectNotEqual(m10, m12)
