=== tests/cases/compiler/specializedInheritedConstructors1.ts === interface ViewOptions { >ViewOptions : ViewOptions >TModel : TModel model: TModel; >model : TModel >TModel : TModel } class View { >View : View >TModel : TModel constructor(options: ViewOptions) { } >options : ViewOptions >ViewOptions : ViewOptions >TModel : TModel model: TModel; >model : TModel >TModel : TModel } class Model { } >Model : Model class MyView extends View { } >MyView : MyView >View : View >Model : Model var m: ViewOptions = { model: new Model() }; >m : ViewOptions >ViewOptions : ViewOptions >Model : Model >{ model: new Model() } : { model: Model; } >model : Model >new Model() : Model >Model : typeof Model var aView = new View({ model: new Model() }); >aView : View >new View({ model: new Model() }) : View >View : typeof View >{ model: new Model() } : { model: Model; } >model : Model >new Model() : Model >Model : typeof Model var aView2 = new View(m); >aView2 : View >new View(m) : View >View : typeof View >m : ViewOptions var myView = new MyView(m); // was error >myView : MyView >new MyView(m) : MyView >MyView : typeof MyView >m : ViewOptions