Marco Cantu 78 Posted July 17, 2020 Just FYI, the new (large) patch is out.https://blog.marcocantu.com/blog/2020-july-radstudio104-patch2.html over 20 Delphi compiler fixes, among a long list of items addressed. Fixed the debugger instability and a few more critical issues, also improved Delphi LSP quite a bit. Quality work will continue, this is a first step. 2 7 Share this post Link to post
Marco Cantu 78 Posted July 17, 2020 (and sorry if I don't follow up, I'm out a few days) 1 Share this post Link to post
Lars Fosdal 1792 Posted July 17, 2020 Have a good vacation and stay healthy. 1 Share this post Link to post
Vincent Parrett 750 Posted July 18, 2020 10.4 Update 2 breaks code that compiled fine with update 1 and earlier This is the library that shows the problem https://github.com/VSoftTechnologies/VSoft.Messaging TChannelHelper = record public procedure PostMessage<T : record>(const message : T); end This is my message record type TGoodByeMessage = record MsgID : TMessageID; Filler : TMessageFiller; Name : string; public constructor Create(const theName : string); end; It failed here with [dcc32 Error] MsgDemoMainForm.pas(62): E2010 Incompatible types: 'T' and 'TGoodByeMessage' procedure TForm2.goodbyeButtonClick(Sender: TObject); var msg : TGoodByeMessage; begin msg := TGoodByeMessage.Create('world'); FChannel.Queue.PostMessage(msg); //<============ end; This looks like records are broken with this updates, why? I'm guessing this has something to do with managed records? Share this post Link to post
FredS 138 Posted July 18, 2020 3 minutes ago, Vincent Parrett said: This looks like records are broken with this updates How could they know you where going to do that 🙂 Sorry, couldn't help myself.. Share this post Link to post
pyscripter 689 Posted July 18, 2020 Also bugs reported as fixed are not fixed: RSP-29271 [DelphiLSP] Code Insight adds unneeded () when changing procedures/functions Share this post Link to post
Vincent Parrett 750 Posted July 18, 2020 More on my issue, removing the record constraint does allow it compile, but removes some compile time type safety Share this post Link to post
David Heffernan 2345 Posted July 18, 2020 40 minutes ago, Vincent Parrett said: More on my issue, removing the record constraint does allow it compile, but removes some compile time type safety Will it compile if you restore the constraint but specify the generic type explicitly instead of relying of type inference? Share this post Link to post
Vincent Parrett 750 Posted July 18, 2020 13 minutes ago, David Heffernan said: Will it compile if you restore the constraint but specify the generic type explicitly instead of relying of type inference? No, that was the first thing I tried, get this error instead [dcc32 Error] MsgDemoMainForm.pas(62): E2512 Type parameter 'T' must be a non-nullable value type Which makes me suspect that record constraints are broken. My records have constructors, I'm guessing that now makes them managed records (I really haven't paid too much attention to how managed records work). Share this post Link to post
David Heffernan 2345 Posted July 18, 2020 19 minutes ago, Vincent Parrett said: My records have constructors, I'm guessing that now makes them managed records No I don't think it does make them managed records. I don't really understand how such simple code could break the compiler. It's as if Embarcadero don't have comprehensive tests in place. 3 1 Share this post Link to post
Remy Lebeau 1396 Posted July 18, 2020 19 minutes ago, Vincent Parrett said: I really haven't paid too much attention to how managed records work Custom Managed Records Coming in Delphi 10.3 (deferred to 10.4) Custom Managed Records Coming to Delphi 10.4 Custom Managed Records New in Delphi 10.4 Sydney Custom Managed Records 1 Share this post Link to post
Vincent Parrett 750 Posted July 18, 2020 4 minutes ago, David Heffernan said: I don't really understand how such simple code could break the compiler. It's as if Embarcadero don't have comprehensive tests in place. My thoughts exactly. Share this post Link to post
Vincent Parrett 750 Posted July 18, 2020 Ok, so they are not managed records, the compiler is just broken. Share this post Link to post
Vincent Parrett 750 Posted July 18, 2020 (edited) Logged as https://quality.embarcadero.com/browse/RSP-30073 Edited July 18, 2020 by Vincent Parrett Share this post Link to post
Arnaud Bouchez 407 Posted July 18, 2020 This is the famous "patch release before holidays" syndrome... 🙂 8 Share this post Link to post
Guest Posted July 18, 2020 @Arnaud Bouchez That video almost made me soil my pants, if that is the case, ( not sure can't stand yet ) then you owe me the cleaning service cost. Share this post Link to post
Stéphane Wierzbicki 45 Posted July 18, 2020 1 hour ago, Arnaud Bouchez said: This is the famous "patch release before holidays" syndrome... 🙂 Excellent! You make my day Arnaud Share this post Link to post
dummzeuch 1505 Posted July 18, 2020 (edited) I'm sure that 'nobody got a raise for decade' is wrong. Nobody in IT got a raise, but surely management did. They handled the fallout caused by the mistakes of those stupid IT people after all! Edited July 18, 2020 by dummzeuch 3 Share this post Link to post
Dalija Prasnikar 1396 Posted July 18, 2020 "If you can't laugh, what can you do?" Share this post Link to post
Dalija Prasnikar 1396 Posted July 18, 2020 (edited) Honestly... I don't care if compiler broke your code... they released fix for compiler bug that broke my code... Edited July 18, 2020 by Dalija Prasnikar 1 Share this post Link to post
Vandrovnik 214 Posted July 18, 2020 Classic undocked still unusable... How much time would it need to allow users to manually increase the height of the main window, so that icons are not hidden - 30 second? Or 60 with testing? 1 Share this post Link to post
dummzeuch 1505 Posted July 18, 2020 They managed to bungle the fix(es) for StringGrid custom drawing again. I just had to adp my Delphi 10.4 fix in GExperts for that. Did nobody test theses fixes? Share this post Link to post
Stefan Glienke 2002 Posted July 18, 2020 @Vincent Parrett Ewww looks like they made record constraint only allow record with no managed fields although things were just working 1 Share this post Link to post
Dalija Prasnikar 1396 Posted July 18, 2020 11 minutes ago, Stefan Glienke said: @Vincent Parrett Ewww looks like they made record constraint only allow record with no managed fields although things were just working LOL, it looks like fix for my code literally broke Vincent's code https://quality.embarcadero.com/browse/RSP-28761 Share this post Link to post
Vincent Parrett 750 Posted July 18, 2020 2 hours ago, Dalija Prasnikar said: LOL, it looks like fix for my code literally broke Vincent's code https://quality.embarcadero.com/browse/RSP-28761 ok I'm blaming @Dalija Prasnikar for logging bugs on such esoteric code that no sane person would ever use 1 Share this post Link to post