Skip to content

Commit d590d5b

Browse files
authored
Remove extraneous const, fixing microsoft#25714 (microsoft#25982)
1 parent 6b60bab commit d590d5b

File tree

5 files changed

+169
-1
lines changed

5 files changed

+169
-1
lines changed

src/compiler/transformers/declarations.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ namespace ts {
154154

155155
if (node.kind === SyntaxKind.Bundle) {
156156
isBundledEmit = true;
157-
const refs = createMap<SourceFile>();
157+
refs = createMap<SourceFile>();
158158
let hasNoDefaultLib = false;
159159
const bundle = createBundle(map(node.sourceFiles,
160160
sourceFile => {
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
//// [tests/cases/compiler/declarationEmitBundleWithAmbientReferences.ts] ////
2+
3+
//// [lib.d.ts]
4+
declare module "lib/result" {
5+
export type Result<E extends Error, T> = (E & Failure<E>) | (T & Success<T>);
6+
export interface Failure<E extends Error> { }
7+
export interface Success<T> { }
8+
}
9+
10+
//// [datastore_result.ts]
11+
import { Result } from "lib/result";
12+
13+
export type T<T> = Result<Error, T>;
14+
15+
//// [conditional_directive_field.ts]
16+
import * as DatastoreResult from "src/datastore_result";
17+
18+
export const build = (): DatastoreResult.T<string> => {
19+
return null;
20+
};
21+
22+
23+
//// [datastore.bundle.js]
24+
define("datastore_result", ["require", "exports"], function (require, exports) {
25+
"use strict";
26+
exports.__esModule = true;
27+
});
28+
define("conditional_directive_field", ["require", "exports"], function (require, exports) {
29+
"use strict";
30+
exports.__esModule = true;
31+
exports.build = function () {
32+
return null;
33+
};
34+
});
35+
36+
37+
//// [datastore.bundle.d.ts]
38+
/// <reference path="../lib/lib.d.ts" />
39+
declare module "datastore_result" {
40+
import { Result } from "lib/result";
41+
export type T<T> = Result<Error, T>;
42+
}
43+
declare module "conditional_directive_field" {
44+
export const build: () => import("lib/result").Result<Error, string>;
45+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
=== tests/cases/compiler/lib/lib.d.ts ===
2+
declare module "lib/result" {
3+
>"lib/result" : Symbol("lib/result", Decl(lib.d.ts, --, --))
4+
5+
export type Result<E extends Error, T> = (E & Failure<E>) | (T & Success<T>);
6+
>Result : Symbol(Result, Decl(lib.d.ts, --, --))
7+
>E : Symbol(E, Decl(lib.d.ts, --, --))
8+
>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
9+
>T : Symbol(T, Decl(lib.d.ts, --, --))
10+
>E : Symbol(E, Decl(lib.d.ts, --, --))
11+
>Failure : Symbol(Failure, Decl(lib.d.ts, --, --))
12+
>E : Symbol(E, Decl(lib.d.ts, --, --))
13+
>T : Symbol(T, Decl(lib.d.ts, --, --))
14+
>Success : Symbol(Success, Decl(lib.d.ts, --, --))
15+
>T : Symbol(T, Decl(lib.d.ts, --, --))
16+
17+
export interface Failure<E extends Error> { }
18+
>Failure : Symbol(Failure, Decl(lib.d.ts, --, --))
19+
>E : Symbol(E, Decl(lib.d.ts, --, --))
20+
>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
21+
22+
export interface Success<T> { }
23+
>Success : Symbol(Success, Decl(lib.d.ts, --, --))
24+
>T : Symbol(T, Decl(lib.d.ts, --, --))
25+
}
26+
27+
=== tests/cases/compiler/src/datastore_result.ts ===
28+
import { Result } from "lib/result";
29+
>Result : Symbol(Result, Decl(datastore_result.ts, 0, 8))
30+
31+
export type T<T> = Result<Error, T>;
32+
>T : Symbol(T, Decl(datastore_result.ts, 0, 36))
33+
>T : Symbol(T, Decl(datastore_result.ts, 2, 14))
34+
>Result : Symbol(Result, Decl(datastore_result.ts, 0, 8))
35+
>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
36+
>T : Symbol(T, Decl(datastore_result.ts, 2, 14))
37+
38+
=== tests/cases/compiler/src/conditional_directive_field.ts ===
39+
import * as DatastoreResult from "src/datastore_result";
40+
>DatastoreResult : Symbol(DatastoreResult, Decl(conditional_directive_field.ts, 0, 6))
41+
42+
export const build = (): DatastoreResult.T<string> => {
43+
>build : Symbol(build, Decl(conditional_directive_field.ts, 2, 12))
44+
>DatastoreResult : Symbol(DatastoreResult, Decl(conditional_directive_field.ts, 0, 6))
45+
>T : Symbol(DatastoreResult.T, Decl(datastore_result.ts, 0, 36))
46+
47+
return null;
48+
};
49+
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
=== tests/cases/compiler/lib/lib.d.ts ===
2+
declare module "lib/result" {
3+
>"lib/result" : typeof import("lib/result")
4+
5+
export type Result<E extends Error, T> = (E & Failure<E>) | (T & Success<T>);
6+
>Result : Result<E, T>
7+
>E : E
8+
>Error : Error
9+
>T : T
10+
>E : E
11+
>Failure : Failure<E>
12+
>E : E
13+
>T : T
14+
>Success : Success<T>
15+
>T : T
16+
17+
export interface Failure<E extends Error> { }
18+
>Failure : Failure<E>
19+
>E : E
20+
>Error : Error
21+
22+
export interface Success<T> { }
23+
>Success : Success<T>
24+
>T : T
25+
}
26+
27+
=== tests/cases/compiler/src/datastore_result.ts ===
28+
import { Result } from "lib/result";
29+
>Result : any
30+
31+
export type T<T> = Result<Error, T>;
32+
>T : Result<Error, T>
33+
>T : T
34+
>Result : Result<E, T>
35+
>Error : Error
36+
>T : T
37+
38+
=== tests/cases/compiler/src/conditional_directive_field.ts ===
39+
import * as DatastoreResult from "src/datastore_result";
40+
>DatastoreResult : typeof DatastoreResult
41+
42+
export const build = (): DatastoreResult.T<string> => {
43+
>build : () => import("lib/result").Result<Error, string>
44+
>(): DatastoreResult.T<string> => { return null;} : () => import("lib/result").Result<Error, string>
45+
>DatastoreResult : any
46+
>T : import("lib/result").Result<Error, T>
47+
48+
return null;
49+
>null : null
50+
51+
};
52+
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// @noResolve: true
2+
// @declaration: true
3+
// @module: amd
4+
// @outFile: tests/cases/compiler/out/datastore.bundle.js
5+
// @filename: lib/lib.d.ts
6+
declare module "lib/result" {
7+
export type Result<E extends Error, T> = (E & Failure<E>) | (T & Success<T>);
8+
export interface Failure<E extends Error> { }
9+
export interface Success<T> { }
10+
}
11+
12+
// @filename: src/datastore_result.ts
13+
import { Result } from "lib/result";
14+
15+
export type T<T> = Result<Error, T>;
16+
17+
// @filename: src/conditional_directive_field.ts
18+
import * as DatastoreResult from "src/datastore_result";
19+
20+
export const build = (): DatastoreResult.T<string> => {
21+
return null;
22+
};

0 commit comments

Comments
 (0)