Skip to content

[hot_reload] Mono should ignore Param table row updates #56574

Closed

Description

@lambdageek

Roslyn will emit these for changes like this:

Old code:

    public class MethodBody1 {
        public static string StaticMethod1 () {
            Func <string,string> fn = static (s) => s + "G";
            return fn ("OLD STRIN");
        }
    }

New code:

    public class MethodBody1 {
        public static string StaticMethod1 () {
            Func <string,string> fn = static (s) => s + "G";
            return fn ("NEW STRIN");
        }
    }

Roslyn will emit a param update for 's' even though nothing about the parameter has changed.

(Note that to get a clean delta it's necessary to use hotreload-utils that includes dotnet/hotreload-utils#65, otherwise the delta will be bloated with unnecessary field and method additions for the (unchanged) lambda).

This is part of #44806

Activity

  1. added this to the 6.0.0 milestone on Jul 29, 2021
  2. self-assigned this
    on Jul 29, 2021
  3. ghost added
    untriagedNew issue has not been triaged by the area owner
    on Jul 29, 2021
  4. removed
    untriagedNew issue has not been triaged by the area owner
    on Jul 31, 2021
  5. ghost added
    in-prThere is an active PR which will close this issue when it is merged
    on Aug 3, 2021
  6. ghost removed
    in-prThere is an active PR which will close this issue when it is merged
    on Aug 4, 2021
  7. lambdageek commented on Aug 12, 2021

    @lambdageek
    MemberAuthor

    The issue description is misleading. Roslyn generates these Param table updates for normal methods, too. Not just for lambdas.

      public virtual void (Builder builder) {
        builder.BuildString ("abcd");
      }
    
      public virtual void (Builder builder) {
        builder.BuildString ("defg");
      }
    

    In this case, too Roslyn emits a Param update for builder.

  8. ghost locked as resolved and limited conversation to collaborators on Sep 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area-EnC-monoHot Reload for WebAssembly, iOS/Android, etc

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions