Commit graph

13238 commits

Author SHA1 Message Date
Nathan Shively-Sanders 28ec7d6177 Update baselines after cherry-pick to 2.0.5 2016-09-13 13:38:29 -07:00
Nathan Shively-Sanders d81ad4608d Remove unnecessary parentheses 2016-09-13 13:34:18 -07:00
Nathan Shively-Sanders 71fa082a0c Update baselines 2016-09-13 13:34:13 -07:00
Nathan Shively-Sanders 267042fdc3 Computed enum assignability is semi-structural 2016-09-13 13:34:09 -07:00
Nathan Shively-Sanders bfed54487e Update baselines for updated enum assignability 2016-09-13 13:33:45 -07:00
Nathan Shively-Sanders d0f8be535e Enum assignability:loosen numbers+tighten computed
1. All numbers and numeric literals are assignable to all enums and enum
literals.
2. Computed enums are no longer assignable to anything except
themselves, even if they would otherwise be "semi-structurally"
compatible.
2016-09-13 13:31:50 -07:00
Nathan Shively-Sanders e384317173 Update baselines 2016-09-13 13:31:42 -07:00
Nathan Shively-Sanders 3683ec2b08 Fix lint 2016-09-13 13:31:38 -07:00
Nathan Shively-Sanders aa3d2501a1 More tests of enum assignability
1. Numeric literal <-> enum literal assignability
2. Computed enum <-> union enum assignability
3. Also rebaseline error reporting of existing enum cases.
2016-09-13 13:31:29 -07:00
Nathan Shively-Sanders e17797979c Address PR comments
1. Cache results of isEnumTypeRelatedTo
2. Make numeric literal assignment stricter again.
3. Use isEnumRelatedTo for comparing enums to each other. This provides
the previous semi-structural semantics.
4. Because of the new distinction between computed enums (no union
members) and union enums (no computed values => a union of enum
literals), some semi-structural code moves out to the body of
`isRelatedTo`.
2016-09-13 13:31:26 -07:00
Nathan Shively-Sanders 90d685b737 Fix both new enum assignability predicates
And update error reporting baseline (new error is less elaborate)
2016-09-13 13:31:23 -07:00
Nathan Shively-Sanders 083f3426d1 Test that enum literal is assignable to an enum in a union 2016-09-13 13:31:18 -07:00
Nathan Shively-Sanders c47cdb8df8 Enum literal is assignable to enum, even inside union
Previously, only number literals were assignable to enums inside unions.
2016-09-13 13:31:14 -07:00
Nathan Shively-Sanders e32d854f0e Test that number is assignable to enum in a union 2016-09-13 13:31:10 -07:00
Nathan Shively-Sanders f0b210cb59 Number is assignable to enum, even inside union
Previously, numbers were not assignable to enums that were inside a
union
2016-09-13 13:31:01 -07:00
Nathan Shively-Sanders fcac9c4fc5 Update baselines after cherry-pick to 2.0 2016-09-13 13:22:49 -07:00
Nathan Shively-Sanders 76fa7b9472 Remove unnecessary parentheses 2016-09-13 13:18:47 -07:00
Richard Knoll ab1df7b792 Merge pull request #10903 from Microsoft/safe_import_completions_2.0.5
Port safe import completions to release-2.0.5
2016-09-13 13:17:01 -07:00
Nathan Shively-Sanders 7d066fe51c Update baselines 2016-09-13 13:14:58 -07:00
Nathan Shively-Sanders b07f2da278 Computed enum assignability is semi-structural 2016-09-13 13:14:46 -07:00
Nathan Shively-Sanders 046a37da63 Update baselines for updated enum assignability 2016-09-13 13:10:23 -07:00
Nathan Shively-Sanders 85f9568a2b Enum assignability:loosen numbers+tighten computed
1. All numbers and numeric literals are assignable to all enums and enum
literals.
2. Computed enums are no longer assignable to anything except
themselves, even if they would otherwise be "semi-structurally"
compatible.
2016-09-13 13:01:03 -07:00
Nathan Shively-Sanders f50a43734b Update baselines 2016-09-13 13:00:58 -07:00
Nathan Shively-Sanders 661c2778ee Fix lint 2016-09-13 13:00:45 -07:00
Nathan Shively-Sanders eb933f9567 More tests of enum assignability
1. Numeric literal <-> enum literal assignability
2. Computed enum <-> union enum assignability
3. Also rebaseline error reporting of existing enum cases.
2016-09-13 13:00:40 -07:00
Nathan Shively-Sanders 64e4f6f395 Address PR comments
1. Cache results of isEnumTypeRelatedTo
2. Make numeric literal assignment stricter again.
3. Use isEnumRelatedTo for comparing enums to each other. This provides
the previous semi-structural semantics.
4. Because of the new distinction between computed enums (no union
members) and union enums (no computed values => a union of enum
literals), some semi-structural code moves out to the body of
`isRelatedTo`.
2016-09-13 13:00:36 -07:00
Nathan Shively-Sanders a0c3d4f306 Fix both new enum assignability predicates
And update error reporting baseline (new error is less elaborate)
2016-09-13 13:00:31 -07:00
Nathan Shively-Sanders bf3941da47 Test that enum literal is assignable to an enum in a union 2016-09-13 13:00:27 -07:00
Nathan Shively-Sanders 7482d5b77d Enum literal is assignable to enum, even inside union
Previously, only number literals were assignable to enums inside unions.
2016-09-13 13:00:21 -07:00
Nathan Shively-Sanders 495ea0d497 Test that number is assignable to enum in a union 2016-09-13 13:00:09 -07:00
Nathan Shively-Sanders dae4ec63be Number is assignable to enum, even inside union
Previously, numbers were not assignable to enums that were inside a
union
2016-09-13 12:59:42 -07:00
Richard Knoll 8c95c2b474 Wrap IO for import completions in try catch 2016-09-13 11:44:23 -07:00
Mohamed Hegazy 60d6578cb5 Update LKG 2016-09-13 09:20:05 -07:00
Mohamed Hegazy b3bb39db3e Update baseline 2016-09-13 09:19:51 -07:00
Anders Hejlsberg 81c69b2a58 Add regression test 2016-09-13 08:55:38 -07:00
Anders Hejlsberg 88349ab436 Quick bail out when narrowing type any by equality 2016-09-13 08:55:29 -07:00
Mohamed Hegazy b8759b38ee Update LKG 2016-09-12 12:38:32 -07:00
Anders Hejlsberg 9986f81981 Add regression test 2016-09-12 11:28:37 -07:00
Anders Hejlsberg 709b4ebc83 Preserve type parameter types in narrowing 2016-09-12 11:28:32 -07:00
Andy 5c16cb6f32 Merge pull request #10807 from Microsoft/release-2.0_re_export_shorthand
A shorthand ambient module should be considered as possibly exporting a value
2016-09-09 12:58:25 -07:00
Mohamed Hegazy 8ae5b5fe20 Update LKG 2016-09-09 11:28:48 -07:00
Mohamed Hegazy 6d6f3b1ae6 Fix typescript and tslint versions 2016-09-09 11:23:00 -07:00
Anders Hejlsberg 2cd4d20f7b Accept new baselines 2016-09-09 11:20:41 -07:00
Anders Hejlsberg 5c11d4c349 Use 'true' and 'false' types when contextual type is 'boolean' 2016-09-09 11:20:33 -07:00
Anders Hejlsberg aee1bf6429 Accept new baselines 2016-09-09 11:20:27 -07:00
Anders Hejlsberg 88fd3d54b2 Use union type when binding element has initializer 2016-09-09 11:20:22 -07:00
Anders Hejlsberg f4c621bb8e Add regression tests 2016-09-09 11:19:59 -07:00
Anders Hejlsberg 98ab0de8c0 Assume outer variables are always initialized in control flow analysis 2016-09-09 11:19:53 -07:00
Andy Hanson 545d7e5e89 A shorthand ambient module should be considered as possibly exporting a value 2016-09-09 08:11:47 -07:00
Zhengbo Li 2b8d96371e Avoid circular references in core.ts (#10783) 2016-09-08 13:26:01 -07:00