http://d.puremagic.com/issues/show_bug.cgi?id=3008
--- Comment #12 from Steven Schveighoffer <schvei...@yahoo.com> 2009-07-30 11:12:25 PDT --- (In reply to comment #9) > You make it sound like we wouldn't be able to use structs anymore! > > Not the case. What I mean is this: original: class C { void foo(); } struct S { C getValue() {...} } void main() { S s; s.getValue.foo(); // should be allowed, getValue does not return an rvalue } new version (assume C is the same): struct MyNiftyPointerTo(T) { ... } struct S { MyNiftyPointerTo!(C) getValue() {...} } void main() { S s; s.getValue.foo(); // oops, compiler says MyNiftyPointerTo!(C) is an rvalue because it's a struct. } What I'm saying is you have no ability to make wrapper or extended builtin types because they are now always treated as rvalues even though their semantics are entirely lvalue-ish. Maybe MyNiftyPointerTo!(C) connects to a remote object on a server, and invokes methods there. You're saying this isn't a valuable enough extension to the type system for D to allow it? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------