CosmosOS / Cosmos

Cosmos is an operating system "construction kit". Build your own OS using managed languages such as C#, VB.NET, and more!
https://www.goCosmos.org
BSD 3-Clause "New" or "Revised" License
2.94k stars 552 forks source link

char.ToLower error #3098

Open TheVogels opened 3 weeks ago

TheVogels commented 3 weeks ago

Area of Cosmos - What area of Cosmos are we dealing with?

char.ToLower

Expected Behaviour - What do you think that should happen?

Ex: 'a' > 'a', 'A' > 'a'

Actual Behaviour - What unexpectedly happens?

image

Reproduction - How did you get this error to appear?

char.ToLower()

Version - Were you using the User Kit or Dev Kit? And what User Kit version or Dev Kit commit (Cosmos, IL2CPU, X#)?

0.1.0-localbuild20240420053827 I am having a little trouble trying to find where Cosmos was built.

Log

Build started at 11:54 AM... 1>------ Build started: Project: CosmosKernel1, Configuration: Debug Any CPU ------ Failed to restore C:\Users\rjaco\source\repos\Networking test\Raycaster server\Raycaster server.csproj (in 1 ms). Failed to restore C:\Users\rjaco\source\repos\Networking test\Raycaster\Raycaster.csproj (in 0.7 ms). NuGet package restore failed. Please see Error List window for detailed warnings and errors. 1>C:\Users\rjaco\source\repos\Networking test\CosmosKernel1\Kernel.cs(169,40,169,41): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. 1>C:\Users\rjaco\source\repos\Networking test\CosmosKernel1\Kernel.cs(170,40,170,41): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. 1>C:\Users\rjaco\source\repos\Networking test\CosmosKernel1\Kernel.cs(171,39,171,40): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. 1>C:\Users\rjaco\source\repos\Networking test\CosmosKernel1\Kernel.cs(200,50,200,51): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. 1>C:\Users\rjaco\source\repos\Networking test\CosmosKernel1\Kernel.cs(251,39,251,40): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. 1>C:\Users\rjaco\source\repos\Networking test\CosmosKernel1\Kernel.cs(307,42,307,43): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. 1>C:\Users\rjaco\source\repos\Networking test\CosmosKernel1\Kernel.cs(618,40,618,41): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. 1>C:\Users\rjaco\source\repos\Networking test\CosmosKernel1\Kernel.cs(629,41,629,42): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. 1>C:\Users\rjaco\source\repos\Networking test\CosmosKernel1\Kernel.cs(632,33,632,34): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. 1>C:\Users\rjaco\source\repos\Networking test\CosmosKernel1\Kernel.cs(631,35,631,36): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. 1>C:\Users\rjaco\source\repos\Networking test\CosmosKernel1\Kernel.cs(671,33,671,34): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. 1>C:\Users\rjaco\source\repos\Networking test\CosmosKernel1\Kernel.cs(674,26,674,27): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. 1>CosmosKernel1 -> C:\Users\rjaco\source\repos\Networking test\CosmosKernel1\bin\Debug\net6.0\CosmosKernel1.dll 1>Executing IL2CPU on assembly 1>Kernel Base: Cosmos.System.Kernel 1>Checking target assembly: C:\Users\rjaco\source\repos\Networking test\CosmosKernel1\bin\Debug\net6.0\CosmosKernel1.dll 1>IL2CPU : warning : Loading plugs from assembly: Cosmos.Core_Asm, Version=10.0.0.0, Culture=neutral, PublicKeyToken=5ae71220097cb983 1>IL2CPU : warning : Loading plugs from assembly: Cosmos.Core_Plugs, Version=10.0.0.0, Culture=neutral, PublicKeyToken=5ae71220097cb983 1>IL2CPU : warning : Loading plugs from assembly: Cosmos.Debug.Kernel.Plugs.Asm, Version=10.0.0.0, Culture=neutral, PublicKeyToken=5ae71220097cb983 1>IL2CPU : warning : Loading plugs from assembly: Cosmos.System2_Plugs, Version=10.0.0.0, Culture=neutral, PublicKeyToken=5ae71220097cb983 1>IL2CPU : warning : Invalid plug method! Target method not found. : A0SystemObjectA2CosmosCore_PlugsSystemActivatorImplCreateInstanceA2CosmosCoreCosmosRuntimeTypeA0SystemBooleanA0SystemBoolean 1>IL2CPU : warning : Invalid plug method! Target method not found. : A0SystemInt64A3CosmosSystem_PlugsSystemIOOSFileStreamStrategyImplSeekA0SystemInt64A0SystemObject 1>IL2CPU : warning : Invalid plug method! Target method not found. : A0SystemVoidA3CosmosSystem_PlugsSystemIOStreamWriterImplWriteFormatHelperA0SystemStringA0A0SystemObjectarrayA0SystemBoolean 1>Detecting fields for type 'IL2CPU.Debug.Symbols.FIELD_INFO' 1>Detecting fields for type 'IL2CPU.Debug.Symbols.FIELD_MAPPING' 1>Detecting fields for type 'IL2CPU.Debug.Symbols.MethodIlOp' 1>Detecting fields for type 'IL2CPU.Debug.Symbols.Method' 1>Detecting fields for type 'IL2CPU.Debug.Symbols.Document' 1>Detecting fields for type 'IL2CPU.Debug.Symbols.AssemblyFile' 1>Detecting fields for type 'IL2CPU.Debug.Symbols.LOCAL_ARGUMENT_INFO' 1>IL2CPU task took 00:00:13.8467066 1>-g dwarf2 -f elf -o bin\Debug\net6.0\CosmosKernel1.obj -dELF_COMPILATION -O3 bin\Debug\net6.0\CosmosKernel1.asm 1>Yasm task took 00:00:07.2904992 1>-Ttext 0x2000000 -Tdata 0x1000000 -e Kernel_Start -o bin\Debug\net6.0\CosmosKernel1.bin bin\Debug\net6.0\CosmosKernel1.obj -m elf_i386 1>LD task took 00:00:00.3255443 1>UEFI enabled. 1>-as mkisofs -relaxed-filenames -J -R -l -allow-lowercase -o bin\Debug\net6.0\CosmosKernel1.iso -b boot/limine-bios-cd.bin -no-emul-boot -boot-load-size 4 -boot-info-table --efi-boot boot/limine-uefi-cd.bin -efi-boot-part --efi-boot-image bin\Debug\net6.0\ISO 1>GNU xorriso 1.5.2 : RockRidge filesystem manipulator, libburnia project. 1> 1>Drive current: -outdev 'stdio:bin\Debug\net6.0\CosmosKernel1.iso' 1>Media current: stdio file, overwriteable 1>Media status : is blank 1>Media summary: 0 sessions, 0 data blocks, 0 data, 96.6g free 1>Added to ISO image: directory '/'='/cygdrive/c/Users/rjaco/source/repos/Networking test/CosmosKernel1/bin\Debug\net6.0\ISO' 1>xorriso : UPDATE : 13 files added in 1 seconds 1>xorriso : UPDATE : 13 files added in 1 seconds 1>xorriso : UPDATE : 99.26% done 1>ISO image produced: 29530 sectors 1>Written to medium : 29530 sectors at LBA 0 1>Writing to 'stdio:bin\Debug\net6.0\CosmosKernel1.iso' completed successfully. 1> 1>Done building project "CosmosKernel1.csproj". ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ========== ========== Build completed at 11:54 AM and took 22.853 seconds ==========

TheVogels commented 3 weeks ago

I am able to work around this by using 'A'.ToString().ToLower()[0].

ADev531 commented 3 weeks ago

Why this is not working?

9xbt commented 1 week ago

Would be helpful if you posted your code.

9xbt commented 1 week ago

Would be helpful if you posted your code.

And by that I mean the whole class not just you telling us that you used char.ToLower() and that's it.