I'm not sure that your deduction is correct. I haven't seen types for which there is no manifest, but I have seen situations where the type inferencer doesn't seem able to provide one.
Specifically in nesting inference situations like this:
scala> def bar[T: Manifest](a: Array[T]) = Array.ofDim[T](3)
bar: [T](a: Array[T])(implicit evidence$1: Manifest[T])Array[T]
scala> def bar2[T](a: Array[T]) = bar(a)
<console>:8: error: No Manifest available for T.
def bar2[T](a: Array[T]) = bar(a)
^
It seems that unless the manifest is 'passed around' it isn't available at the lower level - so that we can say
scala> def bar2[T: Manifest](a: Array[T]) = bar(a)
bar2: [T](a: Array[T])(implicit evidence$1: Manifest[T])Array[T]
or
scala> def bar2[T](a: Array[T])(implicit m: Manifest[T]) = bar(a)
bar2: [T](a: Array[T])(implicit m: Manifest[T])Array[T]
However quite why this is the behaviour I don't know.