Кодогенерация для локальных функций работает неверно
От: nikov США http://www.linkedin.com/in/nikov
Дата: 27.05.11 18:32
Оценка:
module M
{
  Main() : void 
  {
    def foo[T]()
    { 
        def bar[S]() where S : T
        {
        }
        
        bar
    }
    
    _ = foo();
  }
}


Microsoft (R) .NET Framework PE Verifier. Version 4.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.

[token 0x02000002] Type load failed.
[IL]: Error: [ConsoleApplication1.exe : M+_N__N_poly_lambda_for_bar__2923`1[T]::apply_void][offset 0x00000000] Unable to resolve token.
2 Error(s) Verifying ConsoleApplication1.exe

Re: Кодогенерация для локальных функций работает неверно
От: BogdanMart Украина  
Дата: 28.05.11 20:30
Оценка: 1 (1) -2
Здравствуйте, nikov, Вы писали:

N> Main() : void

N> {
N> def foo[T]()
N> {
N> def bar[S]() where S : T
N> {
N> }

N> bar

N> }

Не уверен, что локальным функциям вообще нужны гернерики.
Re[2]: Кодогенерация для локальных функций работает неверно
От: _nn_ www.nemerleweb.com
Дата: 28.05.11 20:58
Оценка:
Здравствуйте, BogdanMart, Вы писали:

BM>Не уверен, что локальным функциям вообще нужны гернерики.


Учитывая, что баги имеются с ними еще давно: issue 661, issue 838

Тут или их убрать или починить
http://rsdn.nemerleweb.com
http://nemerleweb.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.