fixes lifetime issue caused by 19c8468

This commit is contained in:
rsw0x 2015-01-02 00:49:27 -05:00
parent c693126461
commit 03fab0e15d
1 changed files with 3 additions and 3 deletions

View File

@ -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);