fixes lifetime issue caused by 19c8468
This commit is contained in:
parent
c693126461
commit
03fab0e15d
|
@ -164,13 +164,13 @@ struct ModuleCache
|
|||
return null;
|
||||
|
||||
const(Token)[] tokens;
|
||||
{
|
||||
auto parseStringCache = StringCache(StringCache.defaultBucketCount);
|
||||
{
|
||||
ubyte[] source = cast(ubyte[]) Mallocator.it.allocate(fileSize);
|
||||
scope (exit) Mallocator.it.deallocate(source);
|
||||
f.rawRead(source);
|
||||
LexerConfig config;
|
||||
config.fileName = cachedLocation;
|
||||
auto parseStringCache = StringCache(StringCache.defaultBucketCount);
|
||||
|
||||
// The first three bytes are sliced off here if the file starts with a
|
||||
// Unicode byte order mark. The lexer/parser don't handle them.
|
||||
|
@ -178,7 +178,7 @@ struct ModuleCache
|
|||
(source.length >= 3 && source[0 .. 3] == "\xef\xbb\xbf"c)
|
||||
? source[3 .. $] : source,
|
||||
config, &parseStringCache);
|
||||
}
|
||||
}
|
||||
|
||||
auto semanticAllocator = scoped!(CAllocatorImpl!(BlockAllocator!(1024 * 64)));
|
||||
Module m = parseModuleSimple(tokens[], cachedLocation, semanticAllocator);
|
||||
|
|
Loading…
Reference in New Issue