<!-- 🚨 STOP 🚨 STOP 🚨 STOP 🚨 Half of all issues filed here are duplicates, answered in the FAQ, or not appropriate for the bug tracker. Even if you think you've found a *bug*, please read the FAQ first, especially the Common "Bugs" That Aren't Bugs section! Please help us by doing the following steps before logging an issue: * Search: https://github.com/Microsoft/TypeScript/search?type=Issues * Read the FAQ: https://github.com/Microsoft/TypeScript/wiki/FAQ Please fill in the *entire* template below. --> <!-- Please try to reproduce the issue with the latest published version. It may have already been fixed. For npm: `typescript@next` This is also the 'Nightly' version in the playground: http://www.typescriptlang.org/play/?ts=Nightly --> **TypeScript Version:** 4.1.2 <!-- Search terms you tried before logging this (so others can find this issue more easily) --> **Search Terms:** template literal type template string interpolation number pixel value **Code** ```ts const pixelValue: number = 22; type PixelValueType = `${number}px`; const pixelString: PixelValueType = `22px`; // Error here const pixelStringWithTemplate: PixelValueType = `${pixelValue}px`; ``` **Expected behavior:** A template string should be evaluated to determine if it matches a template literal type. **Actual behavior:** The template string is evaluated to type `string` even though it can match the Template Literal Type ``` Type 'string' is not assignable to type '`${number}px`'.(2322) ``` **Playground Link:** <!-- A link to a TypeScript Playground "Share" link which demonstrates this behavior --> https://www.typescriptlang.org/play?#code/MYewdgzgLgBADgSwB4FMA2A1AhmgrigLhjFwFsAjFAJxgF4YAmBgbgChWoBPOFGABWTpseFABVuvegAMAJAG8SFagF84SKW1ahIsRKjQBlKFQRgA5kQH7h+cTzowpTNRq3ho8QYeOmzAdQQoAAtRFFI4NCwoQn4vGzEJB1k5PSEcfFV1NiA **Related Issues:** <!-- Did you find other bugs that looked similar? -->