As Jorge said, switching to: override def fieldOrder = List(txtime, amount, summary) seems to offer enough that the compiler is happy.
On Feb 19, 4:35 am, Jorge Ortiz <jorge.or...@gmail.com> wrote: > Yup, this is a type inference bug. If I'm not mistaken then > > override def fieldOrder: BaseOwnedMappedField[Transaction] = txtime :: > amount :: summary :: Nil > > should also work. > > In any case, I'd probably just stick with the List(...) syntax. > > --j > > On Wed, Feb 18, 2009 at 10:23 PM, Derek Chen-Becker > <dchenbec...@gmail.com>wrote: > > > 0.11-SNAPSHOT, and I'm writing up some example code for the book. I have > > the following class/object: > > > class Transaction extends LongKeyedMapper[Transaction] with IdPK { > > def getSingleton = Transaction > > > object account extends MappedLongForeignKey(this, Account) { > > override def dbIndexed_? = true > > } > > > object txtime extends MappedDateTime(this) > > > // The amount has up to 16 digits and 2 decimal places > > object amount extends MappedDecimal(this, MathContext.DECIMAL64, 2) > > > // Holds a brief description of the transaction > > object summary extends MappedString(this, 100) > > > object notes extends MappedTextarea(this, 1000) { > > override def textareaCols = 60 > > override def textareaRows = 8 > > } > > > def tags = TransactionTag.findAll(By(TransactionTag.transaction, this.id > > )) > > } > > > object Transaction extends Transaction with > > LongKeyedMetaMapper[Transaction] { > > override def fieldOrder = txtime :: amount :: summary :: Nil > > } > > > The compile error I get is: > > > [WARNING] > > /home/software/pocketchangeapp/PocketChange/src/main/scala/com/pocketchangeapp/model/Transaction.scala:35: > > error: inferred type arguments [net.liftweb.mapper.MappedField[_ >: _1 with > > java.util.Date <: java.io.Serializable, > > com.pocketchangeapp.model.Transaction]] do not conform to method ::'s type > > parameter bounds [B >: net.liftweb.mapper.MappedField[_ >: String with > > BigDecimal <: java.io.Serializable, > > com.pocketchangeapp.model.Transaction]{def jdbcFriendly(String): > > java.io.Serializable}] > > [WARNING] override def fieldOrder = txtime :: amount :: summary :: Nil > > [WARNING] ^ > > [WARNING] one error found > > > If I remove the "summary" element from the fieldOrder list then it compiles > > fine. Likewise, if I remove txtime and put summary and notes into the list > > it compiles fine. I'm trying to get my head around all of the nested type > > bounds in the error message but I'm not seeing anything obvious other than > > the weird "String with BigDecimal" bound. I tried using an explicit type for > > fieldOrder but that doesn't work either. > > > I finally tried changing fieldOrder to: > > > override def fieldOrder = List(txtime, amount, summary, notes) > > > That compiles fine. Have I found a type inferencing bug, or have I just > > done something incredibly stupid somewhere? Feel free to critique the class, > > too. > > > Thanks, > > > Derek > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---