1. 07 4月, 2018 2 次提交
  2. 06 4月, 2018 7 次提交
    • A
      Merge pull request #25911 from agocke/finish-ref-local-tests · a4c008b7
      Andy Gocke 提交于
      While implementing the tests for the ref-reassignment test plan (#22466)
      I found a bug in the handling of the ref-escape scope of a ref local in foreach. That bug is fixed
      and the rest of the items in the test plan should have a test.
      
      Fixes #22466
      a4c008b7
    • O
      Produce errors on invalid pdbpath supplied to compiler (#25903) · d23cc53f
      Omar Tawfik 提交于
      * Produce errors on invalid pdbpath supplied to compiler
      
      * More tests
      d23cc53f
    • A
      Mark lambda conversions as side-affecting (#25917) · 62535f72
      Andy Gocke 提交于
      The scenario listed in https://github.com/dotnet/roslyn/issues/22700
      demonstrates the problem. The direct cause of the crash is that local
      lowering produces two instances of the lambda and lamda conversions in
      the resulting bound nodes. This crashes the closure conversion pass
      since the same lambda cannot appear in two places in the tree. However,
      even if that were allowed, this would violate the language
      specification.
      
      Placing a lambda inside an indexer which is nested in a compound
      assignment creates two calls which contain the delegate produced by the
      lambda expression. If the expression kind is marked as side-affecting it
      will be spilled into a temporary variable. However, the local lowering
      doesn't distinguish between whether an expression is side-affecting and
      whether or not it is referentially transparent. In this case, both
      matter. Since the delegate produced by the conversion can be compared by
      reference to any other delegate produced by the same lambda, the code
      must be referentially transparent -- it must produce the same result
      when evaluated repeatedly.
      
      The fix is small: mark lambda conversions as side-affecting. There are
      certain cases, like the creation of temporaries for out-of-order calls
      with named parameters, where the lambda conversion is only required to
      be non-side-affecting instead of referentially transparent, but it does
      not currently seem worth the implementation effort to split up the code
      path.
      
      Fixes #22700
      62535f72
    • A
      Add remaining tests from test plan · 16c1a6ff
      Andy Gocke 提交于
      16c1a6ff
    • A
      Fix ref escape scope for foreach · 477eee6b
      Andy Gocke 提交于
      477eee6b
    • S
      Merge pull request #25956 from sharwell/disable-flaky-test · 538e2017
      Sam Harwell 提交于
      Disable flaky test WorkCoordinatorTests.FileFromSameProjectTogetherTest
      538e2017
    • A
  3. 05 4月, 2018 8 次提交
  4. 04 4月, 2018 15 次提交
  5. 03 4月, 2018 8 次提交