tests/cases/conformance/expressions/typeSatisfaction/typeSatisfaction_propNameConstraining.ts(6,5): error TS1360: Type '{ a: number; b: string; x: number; }' does not satisfy the expected type 'Partial<Record<Keys, unknown>>'.
  Object literal may only specify known properties, and 'x' does not exist in type 'Partial<Record<Keys, unknown>>'.
tests/cases/conformance/expressions/typeSatisfaction/typeSatisfaction_propNameConstraining.ts(13,11): error TS2339: Property 'd' does not exist on type '{ a: number; b: string; x: number; }'.


==== tests/cases/conformance/expressions/typeSatisfaction/typeSatisfaction_propNameConstraining.ts (2 errors) ====
    type Keys = 'a' | 'b' | 'c' | 'd';
    
    const p = {
        a: 0,
        b: "hello",
        x: 8 // Should error, 'x' isn't in 'Keys'
        ~~~~
!!! error TS1360: Type '{ a: number; b: string; x: number; }' does not satisfy the expected type 'Partial<Record<Keys, unknown>>'.
!!! error TS1360:   Object literal may only specify known properties, and 'x' does not exist in type 'Partial<Record<Keys, unknown>>'.
    } satisfies Partial<Record<Keys, unknown>>;
    
    // Should be OK -- retain info that a is number and b is string
    let a = p.a.toFixed();
    let b = p.b.substring(1);
    // Should error even though 'd' is in 'Keys'
    let d = p.d;
              ~
!!! error TS2339: Property 'd' does not exist on type '{ a: number; b: string; x: number; }'.
    