//// [tests/cases/conformance/types/primitives/number/assignFromNumberInterface2.ts] ////

//// [assignFromNumberInterface2.ts]
interface Number {
    doStuff(): string;
}

interface NotNumber {
    toString(radix?: number): string;
    toFixed(fractionDigits?: number): string;
    toExponential(fractionDigits?: number): string;
    toPrecision(precision?: number): string;
    valueOf(): number;
    doStuff(): string;
}

var x = 1;
declare var a: Number;
declare var b: NotNumber;

a = x; 
a = b; 

b = a; 
b = x; 

x = a; // expected error
x = b; // expected error



//// [assignFromNumberInterface2.js]
"use strict";
var x = 1;
a = x;
a = b;
b = a;
b = x;
x = a; // expected error
x = b; // expected error
