Bug 52086 - Nullable structs with implicit operators generate invalid IL code when compiling with Mono
Summary: Nullable structs with implicit operators generate invalid IL code when compil...
Status: RESOLVED FIXED
Alias: None
Product: Compilers
Classification: Mono
Component: C# (show other bugs)
Version: unspecified
Hardware: PC Linux
: --- normal
Target Milestone: ---
Assignee: Marek Safar
URL:
Depends on:
Blocks:
 
Reported: 2017-01-31 17:07 UTC by Hans Wolff
Modified: 2017-02-15 16:26 UTC (History)
2 users (show)

See Also:
Tags:
Is this bug a regression?: ---
Last known good build:


Attachments
Small project to reproduce the crash (2.97 KB, application/zip)
2017-01-31 17:07 UTC, Hans Wolff
Details

Description Hans Wolff 2017-01-31 17:07:20 UTC
Created attachment 19667 [details]
Small project to reproduce the crash

Comparing a nullable struct with overloaded implicit operators to a non-nullable representation crashes the application when compiled under Mono.

Steps to reproduce using already installed Mono:

> xbuild NullableStructBug.csproj
> mono bin/Debug/NullableStructBug.exe

Alternative steps to reproduce using Docker:

> docker build -t bug . && docker run -it --rm bug

Expected output (as seen when compiled using MS .NET Framework):

"All OK"

Actual output (when compiled using Mono):

"Unhandled Exception:
System.InvalidProgramException: Invalid IL code in NullableStructBug.Program:Main (): IL_0037: clt"
Comment 1 Marek Safar 2017-02-15 16:26:57 UTC
Fixed in master

Note You need to log in before you can comment on or make changes to this bug.