TypeScript Version: typescript@3.4.0-dev.20190223
Search Terms: return types accept extra properties
Code
interfaceIOnlyBob{bob :string};//this errors as we expect//const _errors :IOnlyBob = {bob:'hi', steve:'there'};//this works fine but should errorlet_returnsBob :()=>IOnlyBob;_returnsBob=()=>({bob:'hi',steve:'there'});//I'd expect this to be the way to do the above, if that's what someone actually wantedlet_returnsNotJustBob :<TextendsIOnlyBob>()=>T;_returnsNotJustBob=()=>({bob:'hi',steve:'there'}asany);//have to do any, see https://github.com/Microsoft/TypeScript/issues/28154Expected behavior:
Line 8 should fail.
Type '{ bob: string; steve: string; }' is not assignable to type 'IOnlyBob'.
Object literal may only specify known properties, and 'steve' does not exist in type 'IOnlyBob'.
Actual behavior:
Works fine.
Playground Link:here
Related Issues:
TypeScript Version: typescript@3.4.0-dev.20190223
Search Terms: return types accept extra properties
Code
Expected behavior:
Line 8 should fail.
Actual behavior:
Works fine.
Playground Link:here
Related Issues: