Unable to use Infinity and -Infinity as default value for inputs

Please download this patch and run it.

infinity-bug.vl (6.0 KB)

In vvvv gamma stable v6.7, the output is true which is correct.
In vvvv gamma preview v7.0 preview-0062, the output is false and the patch throws an error:

Here’s the full stack trace:

Log

EmitException: “C:\Users\ajits\Documents\vvvv\gamma-preview\Sketches\infinity-bug.vl.1.3.cs(341,202): error CS0103: The name ‘Infinityf’ does not exist in the current context”
StackTrace:
VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass6_3 { internal System.ValueTuple<Microsoft.CodeAnalysis.PortableExecutableReference, VL.Core.RawAssembly> g__Emit|5(bool includeSource, System.Threading.CancellationToken token, VL.Lang.Platforms.Roslyn.<>c__DisplayClass6_2& ) { … } }
VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass6_0 { internal VL.Lang.Platforms.Roslyn.ProjectCompilation g__Build|0(VL.Lang.Platforms.Roslyn.ProjectBuildRequest projectBuildRequest) { … } }
VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass6_1+<b__1>d { private virtual void MoveNext() { … } }
System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { … } }
System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { … } }
System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { … } }
System.Runtime.CompilerServices.TaskAwaiter1 { public TResult GetResult() { ... } } VL.Lang.Platforms.Roslyn.TargetCompilation+<InitializeAsync>d__6 { private virtual void MoveNext() { ... } } System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } System.Runtime.CompilerServices.TaskAwaiter1 { public TResult GetResult() { … } }
VL.Lang.Platforms.Roslyn.TargetCompilation+d__4 { private virtual void MoveNext() { … } }
System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { … } }
System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { … } }
System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { … } }
System.Runtime.CompilerServices.TaskAwaiter1 { public TResult GetResult() { ... } } VL.Lang.Platforms.Roslyn.TargetCompilation+<WithCompilationAsync>d__43 { private virtual void MoveNext() { ... } } System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } System.Runtime.CompilerServices.TaskAwaiter1 { public TResult GetResult() { … } }
VL.Lang.Platforms.Roslyn.TargetCompilation+d__44 { private virtual void MoveNext() { … } }
System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { … } }
System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { … } }
System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { … } }
System.Runtime.CompilerServices.TaskAwaiter`1 { public TResult GetResult() { … } }
VL.Model.VLSession+d__118 { private virtual void MoveNext() { … } }
System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { … } }
System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { … } }
System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { … } }
VL.Model.VLSession+d__117 { private virtual void MoveNext() { … } }
System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { … } }
System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { … } }
System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { … } }
VL.Model.VLSession+d__141 { private virtual void MoveNext() { … } }

EmitException: “C:\Users\ajits\Documents\vvvv\gamma-preview\Sketches\infinity-bug.vl.1.4.cs(443,202): error CS0103: The name ‘Infinityf’ does not exist in the current context”
StackTrace:
VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass6_3 { internal System.ValueTuple<Microsoft.CodeAnalysis.PortableExecutableReference, VL.Core.RawAssembly> g__Emit|5(bool includeSource, System.Threading.CancellationToken token, VL.Lang.Platforms.Roslyn.<>c__DisplayClass6_2& ) { … } }
VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass6_0 { internal VL.Lang.Platforms.Roslyn.ProjectCompilation g__Build|0(VL.Lang.Platforms.Roslyn.ProjectBuildRequest projectBuildRequest) { … } }
VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass6_1+<b__1>d { private virtual void MoveNext() { … } }
System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { … } }
System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { … } }
System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { … } }
System.Runtime.CompilerServices.TaskAwaiter1 { public TResult GetResult() { ... } } VL.Lang.Platforms.Roslyn.TargetCompilation+<InitializeAsync>d__6 { private virtual void MoveNext() { ... } } System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } System.Runtime.CompilerServices.TaskAwaiter1 { public TResult GetResult() { … } }
VL.Lang.Platforms.Roslyn.TargetCompilation+d__4 { private virtual void MoveNext() { … } }
System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { … } }
System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { … } }
System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { … } }
System.Runtime.CompilerServices.TaskAwaiter1 { public TResult GetResult() { ... } } VL.Lang.Platforms.Roslyn.TargetCompilation+<WithCompilationAsync>d__43 { private virtual void MoveNext() { ... } } System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } System.Runtime.CompilerServices.TaskAwaiter1 { public TResult GetResult() { … } }
VL.Lang.Platforms.Roslyn.TargetCompilation+d__44 { private virtual void MoveNext() { … } }
System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { … } }
System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { … } }
System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { … } }
System.Runtime.CompilerServices.TaskAwaiter`1 { public TResult GetResult() { … } }
VL.Model.VLSession+d__118 { private virtual void MoveNext() { … } }
System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { … } }
System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { … } }
System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { … } }
VL.Model.VLSession+d__117 { private virtual void MoveNext() { … } }
System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { … } }
System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { … } }
System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { … } }
VL.Model.VLSession+d__141 { private virtual void MoveNext() { … } }

This was working earlier in an older version of vvvv gamma preview v7.0 preview. If it helps to narrow down, this probably started breaking some version after LanguageVersion=“2025.7.0-0046-g192362537b” Version=“0.128”.

Oh wow, wasn’t even aware this was possible. Fix in upcoming, thanks for the pointer.

1 Like